🔄 Lặp Lại Công Việc: loop
Mục Tiêu Bài Học
Sau bài này, bạn sẽ:
- ✅ Biết cách dùng
loopđể lặp vô hạn - ✅ Sử dụng
breakđể thoát loop vàcontinueđể bỏ qua - ✅ Trả về giá trị từ loop với
break value - ✅ Dùng labels cho nested loops (loop lồng nhau)
🤔 Tại Sao Cần Loops?
Hãy tưởng tượng bạn đang làm việc trên công trường với đồ bảo hộ an toàn (Rust):
- Kiểm tra thiết bị mỗi giờ → Lặp lại công việc
- Đo nhiệt độ liên tục → Lặp cho đến khi quá nóng
- Xử lý từng viên gạch → Lặp qua danh sách
Trong lập trình, chúng ta cần lặp lại công việc rất nhiều!
📝 Loop Cơ Bản
loop tạo ra một vòng lặp vô hạn - chạy mãi mãi cho đến khi gặp break.
Cú Pháp
loop {
// Code lặp lại mãi mãi
}
Ví Dụ Đơn Giản
fn main() {
let mut dem = 0;
loop {
println!("Lần thứ {}", dem);
dem += 1;
if dem >= 5 {
break; // ✅ Thoát loop
}
}
println!("Xong!");
}
Kết quả:
Lần thứ 0
Lần thứ 1
Lần thứ 2
Lần thứ 3
Lần thứ 4
Xong!
Giải thích:
loop→ Bắt đầu vòng lặp vô hạn- In giá trị
dem - Tăng
demlên 1 - Nếu
dem >= 5→break(thoát loop) - Quay lại bước 2 (nếu chưa break)
Cảnh Báo Vòng Lặp Vô Hạn
Nếu không có break, loop sẽ chạy mãi mãi!
// ❌ Nguy hiểm - Infinite loop!
loop {
println!("Chạy mãi mãi...");
// Không có break → Treo chương trình!
}
Để dừng chương trình bị treo: Nhấn Ctrl + C trong terminal.
🛑 Break: Thoát Loop
break dùng để thoát khỏi loop ngay lập tức.
Ví Dụ: Tìm Số Chẵn Đầu Tiên
fn main() {
let mut so = 1;
loop {
if so % 2 == 0 {
println!("Số chẵn đầu tiên: {}", so);
break; // ✅ Thoát ngay
}
so += 1;
}
}
Kết quả:
Số chẵn đầu tiên: 2