if/else

if-else分支判断和其他语言类似。与很多语言不同的是,Rust 语言中的布尔判断条件不用小括号包住, 每个判断条件后连着一个代码块。if-else条件选择是一个表达式,并且所有分支都必须返回相同的类型。

1. fn main() {
2. let n = 5;

4. if n < 0 {
5. print!("{} is negative", n);
6. } else if n > 0 {
7. print!("{} is positive", n);
8. } else {
9. print!("{} is zero", n);
10. }

12. let big_n =
13. if n < 10 && n > -10 {
14. println!(", and is a small number, increase ten-fold");

16. // 这条表达式返回一个 `i32` 类型。
17. 10 * n
18. } else {
19. println!(", and is a big number, reduce by two");

21. // 这条表达式也必须返回一个 `i32` 类型。
22. n / 2
23. // 试一试 ^ 试着加上一个分号来结束这条表达式。
24. };
25. //   ^ 不要忘记在这里加上一个分号!所有的 `let` 绑定都需要它。

27. println!("{} -> {}", n, big_n);
28. }