块
A block in Rust contains a sequence of expressions. Each block has a value and a type, which are those of the last expression of the block:
fn main() { let x = { let y = 10; println!("y: {y}"); let z = { let w = { 3 + 4 }; println!("w: {w}"); y * w }; println!("z: {z}"); z - y }; println!("x: {x}"); }
If the last expression ends with ;
, then the resulting value and type is ()
.
同样的规则也适用于函数:函数主体的值 是返回值:
fn double(x: i32) -> i32 { x + x } fn main() { println!("double: {}", double(7)); }
关键点:
- 这张幻灯片的重点是说明在 Rust 中,块有类型和值。
- 你可以通过更改块的最后一行,来展示块值的变化情况。例如,添加/移除分号或使用
return
。