示例程序:
fn main() {
let x = 1;
let x = x + 1;
let x = x + 2;
println!("x = {}", x); // 输出 x = 4
}
Rust中的变量隐藏(shadow):重复定义一个同名变量会覆盖掉之前定义的变量。
隐藏机制可以在修改变量的值得基础上,保持变量的不可变性。
相比可变变量,隐藏机制可以修改变量的类型(而可变变量不可以)。例如下面的程序:
fn main() {
let name = "yuyoubei";
println!("name = {}", name); // 输出 name = yuyoubei
let name = name.len();
println!("name = {}", name); // 输出 name = 8
}