Keyword else[−][src]
Expand description
else
表达式是可选的。如果未提供其他表达式,则假定计算结果为单元类型 ()
。
else
块求值的类型必须与 if
块求值的类型兼容。
如下所示,else
后面必须是: if
,if let
或块 {}
,它将返回该表达式的值。
let result = if true == false { "oh no" } else if "something" == "other thing" { "oh dear" } else if let Some(200) = "blarg".parse::<i32>().ok() { "uh oh" } else { println!("Sneaky side effect."); "phew, nothing's broken" };Run
这是另一个示例,但是在这里我们不尝试返回表达式:
if true == false { println!("oh no"); } else if "something" == "other thing" { println!("oh dear"); } else if let Some(200) = "blarg".parse::<i32>().ok() { println!("uh oh"); } else { println!("phew, nothing's broken"); }Run
上面是 still 的表达式,但它将始终为 ()
。
跟随 if
表达式的 else
块的数量可能没有限制,但是,如果有多个,则最好使用 match
表达式。
在 Rust 书 中阅读更多关于控制流的信息。