表达式

Rust 程序(大部分)由一系列语句构成:

  1. fn main() {
  2. // 语句
  3. // 语句
  4. // 语句
  5. }

Rust 有多种语句。最普遍的语句类型有两种:一种是绑定变量,另一种是表达式带上分号:

  1. fn main() {
  2. // 变量绑定
  3. let x = 5;
  4. // 表达式;
  5. x;
  6. x + 1;
  7. 15;
  8. }

代码块也是表达式,所以它们在赋值操作中可以充当右值(r-values)。代码块中的最后一条表达式将赋给左值(l-value)。需要注意的是,如果代码块最后一条表达式结尾处有分号,那么返回值将变成 ()。(译注:代码块中的最后一条语句是代码块中实际执行的最后一条语句,而不一定是代码块中最后一行的语句。)

  1. fn main() {
  2. let x = 5u32;
  3. let y = {
  4. let x_squared = x * x;
  5. let x_cube = x_squared * x;
  6. // 将此表达式赋给 `y`
  7. x_cube + x_squared + x
  8. };
  9. let z = {
  10. // 分号结束了这个表达式,于是将 `()` 赋给 `z`
  11. 2 * x;
  12. };
  13. println!("x is {:?}", x);
  14. println!("y is {:?}", y);
  15. println!("z is {:?}", z);
  16. }