Table of contents
Open Table of contents
1. Cấu trúc If cơ bản
Dùng để thực thi một đoạn mã nếu điều kiện là đúng (true).
let x = 10;
if x > 5 {
println!("x lớn hơn 5");
}
2. Câu lệnh If…Else
Nếu điều kiện không đúng, bạn có thể dùng else để chạy đoạn mã khác.
let age = 16;
if age >= 18 {
println!("Bạn đủ tuổi bầu cử.");
} else {
println!("Bạn chưa đủ tuổi bầu cử.");
}
3. Câu lệnh Else If
Dùng để kiểm tra nhiều điều kiện khác nhau theo thứ tự từ trên xuống dưới.
let score = 85;
if score >= 90 {
println!("Hạng: A");
} else if score >= 80 {
println!("Hạng: B");
} else {
println!("Hạng: F");
}
4. Sử dụng If như một biểu thức (Expression)
Đây là một tính năng cực kỳ mạnh mẽ của Rust. Bạn có thể gán kết quả của một câu lệnh if trực tiếp cho một biến.
let time = 20;
let greeting = if time < 18 {
"Chào buổi sáng"
} else {
"Chào buổi tối"
};
println!("{}", greeting); // Kết quả: Chào buổi tối
⚠️ Một số lưu ý quan trọng:
- Phải có
else: Khi dùngifnhư biểu thức gán giá trị, bạn bắt buộc phải cóelseđể đảm bảo biến luôn nhận được một giá trị trong mọi tình huống. - Cùng kiểu dữ liệu: Giá trị trả về ở nhánh
ifvàelsephải có cùng kiểu dữ liệu (ví dụ: cùng là chuỗi hoặc cùng là số). Bạn không thể trả về “Thành công” ởifvà số1ởelse.
5. Thay thế cho toán tử ba ngôi
Nếu bạn đã quen với toán tử ba ngôi (condition ? a : b) trong C++ hay Java, thì trong Rust, bạn sẽ dùng if...else trên một dòng để đạt được kết quả tương tự:
let number = 5;
let result = if number % 2 == 0 { "Chẵn" } else { "Lẻ" };
Lời kết Bài 5
if...else giúp chương trình của bạn có khả năng ra quyết định. Ở bài tiếp theo, chúng ta sẽ làm quen với Match - một công cụ so khớp mẫu cực kỳ lợi hại, được coi là phiên bản “nâng cấp” của switch..case trong các ngôn ngữ khác.
Hẹn gặp lại các bạn!