Table of contents
Open Table of contents
1. Định nghĩa và Gọi hàm
Để tạo hàm, bạn dùng từ khóa fn, theo sau là tên hàm theo quy tắc snake_case (viết thường, phân cách bằng dấu gạch dưới).
fn say_hello() {
println!("Xin chào từ một hàm!");
}
fn main() {
say_hello(); // Gọi hàm
}
2. Hàm có Tham số
Khi khai báo hàm có tham số, bạn bắt buộc phải chỉ định kiểu dữ liệu cho từng tham số.
fn greet(name: &str, age: i32) {
println!("Chào {}, bạn {} tuổi.", name, age);
}
fn main() {
greet("Tuấn", 28);
}
3. Hàm có giá trị trả về
Bạn sử dụng ký hiệu mũi tên -> để chỉ định kiểu dữ liệu trả về của hàm.
Cách 1: Dùng từ khóa return
fn add(a: i32, b: i32) -> i32 {
return a + b;
}
Cách 2: Sử dụng Expression (Khuyên dùng)
Trong Rust, dòng cuối cùng của một hàm nếu không có dấu chấm phẩy ; sẽ được coi là giá trị trả về của hàm đó.
fn add(a: i32, b: i32) -> i32 {
a + b // Không có dấu ; ở đây!
}
Lưu ý: Đây là cách viết đặc trưng của Rust, giúp code trông gọn gàng và tinh tế hơn.
4. Phạm vi của hàm
Trong Rust, bạn có thể định nghĩa hàm ở bất cứ đâu trong file mã nguồn. Không quan trọng là bạn định nghĩa hàm trước hay sau khi gọi nó, miễn là hàm đó nằm trong cùng một phạm vi mà trình biên dịch có thể nhìn thấy.
Lời kết Bài 11
Hiểu cách sử dụng hàm và giá trị trả về là nền tảng để bạn bắt đầu xây dựng những module phức tạp hơn. Ở bài sau, chúng ta sẽ bước vào thế giới của Structs - cách để bạn tự tạo ra những kiểu dữ liệu tùy chỉnh cho ứng dụng của mình.
Hẹn gặp lại các bạn!