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;
}Thử thách
Người mớiSử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);
}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
5Các toán tử phần 2
Các toán tử logic phần 1Các toán tử logic phần 2Ôn tập: logic đơn giảnCác toán tử logic phần 33Biến phần 2
Khai báo kiểu dữ liệuQuy ước đặt tênSuy luận kiểu dữ liệuÔn tập: Khởi tạo biếnÉp kiểu dữ liệu9Vòng lặp
Vòng lặp for qua chuỗiVòng lặp whileBreakContinueVòng lặp lồng nhauNhãn vòng lặpVòng lặp vô hạnÔn tập: Đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngMảng làm tham sốTruy cập phần tửChỉnh sửa mảngÔn tập: In mảng đẹp mắtTự luyện tập: Trình biên dịch Rust online