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 书 中阅读更多关于控制流的信息。