通过例子学习Rust

6 表达式

Rust里面几乎所有语句(statement)都是表达式(expression),也就是具有值。在表达式结尾加上分号;可忽略掉该值。

代码块(Blocks)也是表达式,因而也能作为赋值语句中的右值(r-values)。 代码块的最后一条表达式的值,将作为该代码块的值,被赋值给左值(l-value)。 但是,如果代码块的最后一条语句以分号;结尾,其值将是(),也就是没有值。

fn main() { let x = 5u; let y = { let x_squared = x * x; let x_cube = x_squared * x; // This expression will be assigned to `y` x_cube + x_squared + x }; let z = { // The semicolon suppresses this expression and `()` is assigned to `z` 2 * x; }; println!("x is {}", x); println!("y is {}", y); println!("z is {}", z); }