Rust 区分语句和表达式, Rust 是基于表达式的语言:

  • 语句:执行动作并且不返回值

    • 使用 let 声明变量是语句,所以 let 语句不返回值,也就不能像 Python 那样将 let 语句赋值给其他变量
    • 函数声明也是语句
  • 表达式:计算并返回值,不以分号(;)结尾

    • 5 + 6 是一个表达式,计算并返回值 11

    • 表达式可以作为语句的一部分

    • 函数调用是表达式

    • 宏调用是表达式

    • {} 创建的块也是表达式

      let x = {
      		let y = 6;
      		y + 5
      }
      
    • if loop while for 是表达式

在表达式后面增加分号(;)可以将一个表达式转为语句。