Menu
CoddyTech

Định nghĩa một bao đóng đơn giản

Thuộc phần Logic và luồng chương trình trong hành trình Rust của Coddy. Bài học 60 trên 66.

Bây giờ bạn đã hiểu closure là gì, hãy cùng tìm hiểu cách định nghĩa và sử dụng chúng trong code. Cách đơn giản nhất để tạo closure là gán nó cho một biến, nhờ đó bạn có thể gọi nó sau này.

Sau đây là cách định nghĩa một bao đóng (closure) cơ bản không nhận tham số:

let my_closure = || {
    println!("Hello from the closure!");
};

Hãy chú ý đến cặp dấu gạch đứng trống ||: cặp dấu này cho biết bao đóng không nhận đối số nào. Dấu ngoặc nhọn chứa đoạn code chạy khi bạn gọi bao đóng.

Để gọi closure, bạn dùng nó như một hàm bằng cách thêm dấu ngoặc đơn sau tên biến:

let my_closure = || {
    println!("Hello from the closure!");
};

my_closure(); // Lệnh này gọi closure và in ra thông báo
challenge icon

Thử thách

Dễ

Bạn sẽ nhận được một đầu vào duy nhất chứa một thông điệp. Hãy tạo một closure không nhận tham số và in ra thông điệp này. Lưu closure vào một biến, sau đó gọi biến đó để hiển thị thông điệp.

Yêu cầu:

  • Đọc thông điệp đầu vào và loại bỏ khoảng trắng
  • Tạo closure bằng cú pháp || để in ra thông điệp
  • Lưu closure vào một biến
  • Gọi closure để thực thi

Đầu vào:

  • Một dòng duy nhất chứa một thông điệp (ví dụ: Welcome to Rust!)

Đầu ra:

  • Thông điệp được closure in ra

Tự làm thử

use std::io;

fn main() {
    // Đọc đầu vào
    let mut message = String::new();
    io::stdin().read_line(&mut message).expect("Failed to read line");
    let message = message.trim();
    
    // TODO: Tạo một closure để in ra thông điệp rồi lưu closure đó vào một biến
    
    
    // TODO: Gọi closure để in ra thông điệp
    
}
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 Logic và luồng chương trình

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