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
}
posted @ 2022-01-21 19:17  鱼又悲  阅读(168)  评论(0编辑  收藏  举报