表达式(Rust入门)

本文章参考自官方学习文档及社区学习文档以下是参考链接:

官方:

社区:

直接上手学习推荐:

概述点

本文内容:

  • 表达式
  • 代码块
  • 左值
  • 右值

语句构成

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

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

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

1
2
3
4
5
6
7
8
9
fn main() {
// 变量绑定
let x = 5;

// 表达式;
x;
x + 1;
15;
}

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

注:代码块中的最后一条语句是代码块中实际执行的最后一条语句,而不一定是代码块中最后一行的语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
fn main() {
let x = 5u32;

let y = {
let x_squared = x * x;
let x_cube = x_squared * x;

// 将此表达式赋给 `y`
x_cube + x_squared + x
};

let z = {
// 分号结束了这个表达式,于是将 `()` 赋给 `z`
2 * x;
};

println!("x is {:?}", x);
println!("y is {:?}", y);
println!("z is {:?}", z);
}