if 表达式

if 表达式 的用法与其他语言中的 if 语句完全一样。

  1. fn main() {
  2. let x = 10;
  3. if x == 0 {
  4. println!("zero!");
  5. } else if x < 100 {
  6. println!("biggish");
  7. } else {
  8. println!("huge");
  9. }
  10. }

此外,你还可以将 if 用作一个表达式。每个块的最后一个表达式 将成为 if 表达式的值:

  1. fn main() {
  2. let x = 10;
  3. let size = if x < 20 { "small" } else { "large" };
  4. println!("number size: {}", size);
  5. }

This slide should take about 4 minutes.

Because if is an expression and must have a particular type, both of its branch blocks must have the same type. Show what happens if you add ; after "small" in the second example.

如果在表达式中使用 if,则表达式中必须包含 ; 来将其与下一个语句分隔开。移除 println! 前面的 ; 即可查看编译器错误。