Menu
CoddyTech

变量遮蔽(上)

本课属于 Coddy Rust 学习旅程的“基础知识”单元。第 46 课,共 75 课。

你可以在不同作用域中声明一个与之前变量同名的新变量。新变量会遮蔽之前的变量,直到其作用域结束:

fn main() {
    let x = 5;
    {
        let x = 12;
        // 遮蔽外层的 x
        println!("{}", x);
        // 打印 "12"
    }
    
    println!("{}", x);
    // 打印 "5"
}
challenge icon

挑战

入门

编写一个 Rust 程序,演示遮蔽的概念。请完成以下步骤:

  1. 声明一个名为 x 的变量,并将其初始化为 5。
  2. 按以下格式将 x 的值打印到控制台:x is: …
  3. 在一个新的作用域中,用一个新值遮蔽 x,这个新值是原来的 x 加上 3。
  4. 按以下格式打印遮蔽后的 x:x is: …
  5. 最后,在作用域外按以下格式打印 x:x is: …

亲手试试

fn main() {
    // 声明变量 x,并将其初始化为 5
    
    // 打印 x 的值
    
    {
        // 用原来的 x 加 3,创建一个同名变量来遮蔽 x
        
        // 打印被遮蔽后的 x 的值
        
    }
    // 打印外层 x 的值
    
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Rust 在线编译器