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);
}