if/else
if
-else
分支结构与其他语言类似。不同之处在于,布尔条件不需要用括号括起来,每个条件后面都跟着一个代码块。if
-else
条件是表达式,所有分支必须返回相同的类型。
fn main() { let n = 5; if n < 0 { print!("{} 是负数", n); } else if n > 0 { print!("{} 是正数", n); } else { print!("{} 是零", n); } let big_n = if n < 10 && n > -10 { println!(",是一个小数字,扩大十倍"); // 这个表达式返回 `i32` 类型。 10 * n } else { println!(",是一个大数字,将数字减半"); // 这个表达式也必须返回 `i32` 类型。 n / 2 // TODO ^ 尝试用分号结束这个表达式。 }; // ^ 别忘了在这里加分号!所有 `let` 绑定都需要它。 println!("{} -> {}", n, big_n); }