Rust 可变变量

变量绑定默认是不可变的(immutable),但加上 mut 修饰语后变量就可以改变。

fn main() {
    let _immutable_binding = 1;
    let mut mutable_binding = 1;

    println!("Before mutation: {}", mutable_binding);

    // 正确代码
    mutable_binding += 1;

    println!("After mutation: {}", mutable_binding);

    // 错误!
    _immutable_binding += 1;
    // 改正 ^ 将此行注释掉
}

编译器会给出关于变量可变性的详细诊断信息。

变量绑定有一个作用域(scope),它被限定只在一个代码块(block)中生存(live)。代码块是一个被 {} 包围的语句集合。另外也允许变量遮蔽(variableshadowing)。fn main() { / ...