1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-03-22 06:51:58 +02:00
2024-02-16 13:12:51 -05:00

637 B

minutes
5

Blocks and Scopes

Blocks

A block in Rust contains a sequence of expressions, enclosed by braces {}. Each block has a value and a type, which are those of the last expression of the block:

fn main() {
    let z = 13;
    let x = {
        let y = 10;
        println!("y: {y}");
        z - y
    };
    println!("x: {x}");
}

If the last expression ends with ;, then the resulting value and type is ().

  • You can show how the value of the block changes by changing the last line in the block. For instance, adding/removing a semicolon or using a return.