前言
祝大家中秋节快乐
- 海上生明月,天涯共此时
- 但愿人长久,千里共婵娟
描述:
在下面示例中,期望的结果是:F-A_Value
,但实际输出是 B_Value
,为什么会这样?
fn test() -> String {
let a = Some("A_Value".to_string());
let b = a.unwrap_or( return "B_Value".to_string());
let c = format!("F-{:?}",b);
c.to_string()
}
fn main(){
println!("{}", test());
}
期望
有理有据,尽可能给出参考链接,或者其他有说服力的资料, 感谢在先
。
可以看出的是:在执行
let b = a.unwrap_or( return "B_Value".to_string());
就直接退出执行了。也是让人觉得匪夷所思,Rust 还能这样写return
。属于可用不可行系列,下面两个示例都能执行我也感觉诧异。