Rust中的变量隐藏

示例程序:

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
}
上一篇:Rust--如何实现内存安全的?


下一篇:Rust--枚举泛型