可不可以简化成像这样
fn test() -> A {
let c = b?;
let s = do_something(c)?;
A(s)
}
Ext Link: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=ce902b87f98eafdcf3bb42c83fc4a299
1
共 4 条评论, 1 页
评论区
写评论寫一寫就離題了,但後面的 match 可以參考
fn test() -> A { let b: Result<C, B> = Ok(C("c".to_string())); let c: C = if let Ok(c) = b { c } else { panic!("err") }; let c: Result<String, C> = Err(c);
}
用
map_or_else
。可通过如下方式简化
? 返回的一定是Result类型的