Rust 表达式
Rust 程序(大部分)由一系列语句构成:
fn main() { // 语句 // 语句 // 语句 }
Rust 有多种语句。最普遍的语句类型有两种:一种是绑定变量,另一种是表达式带上分号:
fn main() { // 变量绑定 let x = 5; // 表达式; x; x + 1; 15; }
代码块也是表达式,所以它们在赋值操作中可以充当右值(r-values)。代码块中的最后一条 表达式将赋给左值(l-value)。需要注意的是,如果代码块最后一条表达式结尾处有分号,那 么返回值将变成 ()。(译注:代码块中的最后一条语句是代码块中实际执行的最后一条语句,而不一 定是代码块中最后一行的语句。)
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); }
任何编程语言都包含的一个必要部分就是改变控制流程:if/else,for 等。流程控制包括条件语句、循环语句以及模式匹配语句。让我们谈谈 Rust 语言中的这部分内容。