Rust中,变量默认是不可变的,如果想让变量可变,需要使用mut关键字。

fn main() {
    let x = 5; // x 是不可变的
    println!("The value of x is: {}", x);
 
    // 下面这行会报错!
    // x = 6;
 
    // 如果想让变量可变,需要使用 `mut` 关键字
    let mut y = 10;
    println!("The initial value of y is: {}", y);
    y = 20;
    println!("The new value of y is: {}", y);
}

遮蔽

可以定义一个与之前变量同名的新变量。此后任何使用该变量名的行为都会使用第二个变量,直到第二个变量也被遮蔽作用域结束

这实际是创建了一个新变量,因此可以改变值的类型。

  • ! 用mut声明的变量也不能改变值的类型。