Menu
CoddyTech

Che khuất biến, phần 2

Thuộc phần Kiến thức nền tảng trong hành trình Rust của Coddy. Bài học 48 trên 75.

Khi bạn che khuất một biến trong Rust, biến mới hoàn toàn độc lập với biến ban đầu và cần khai báo khả năng thay đổi riêng. Việc che khuất không kế thừa khả năng thay đổi của biến ban đầu.

let mut mut_val = 7;
// Biến (variable) ban đầu có thể thay đổi
{ 
    let mut_val = 8;
    // Đây là biến mới che khuất mut_val ở phạm vi bên ngoài
      
    mut_val = 50;
    // Xảy ra lỗi vì
    // mut_val không thể thay đổi
}
// Ở đây thì không sao 
// mut_val không bị cố định trong phạm vi này
mut_val = 3;

Để sửa lỗi này, ta có thể thêm mut vào phạm vi bên trong:

{
	let mut mut_val = 8;
	mut_val = 50;
}
challenge icon

Thử thách

Người mới

Sửa đoạn code đã cho để chạy mà không gặp lỗi.

Tự làm thử

fn main() {
    // Sửa đoạn code này để chạy được
    let number = 42;
    {
        let number = number;
        println!("number is {}", number);
        number = 100;  // Dòng này sẽ gây lỗi
        println!("number is {}", number);
    }
    println!("number is {}", number);
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Rust online