Current date May 18, 2026
Tự học Rust

Tự học Rust – Bài 5: Cấu trúc điều kiện If…Else

URL copied
Share URL copied
Tự học Rust - Bài 5: Cấu trúc điều kiện If...Else
Tự học Rust – Bài 5: Cấu trúc điều kiện If…Else

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ùng `if` như 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 `if` và `else` phả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” ở `if` và 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!

Share URL copied

Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Active0
AI3
AI & Automation10

Exclusives

Lifestyle

Related Articles

Tự học Rust – Bài 20: Concurrency – Đa luồng an toàn tuyệt đối

Khám phá cách Rust xử lý lập trình đa luồng mà không...

Tự học Rust – Bài 19: Con trỏ thông minh (Smart Pointers)

Vượt xa các tham chiếu thông thường với Smart Pointers: Box, Rc...

Tự học Rust – Bài 18: Lifetimes – Đảm bảo tham chiếu hợp lệ

Lifetimes là gì? Tại sao Rust cần chúng? Tìm hiểu cách trình...

Tự học Rust – Bài 17: Generics – Viết mã nguồn linh hoạt

Sử dụng Generics trong Rust để tạo ra các hàm và cấu...