Skip to content

Tự học Rust - Bài 11: Hàm (Functions)

TuanNDA
Updated date:
Edit this post

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!

Previous
Tự học Rust - Bài 12: Structs - Khởi tạo kiểu dữ liệu tùy chỉnh
Next
Tự học Rust - Bài 10: Ownership & Borrowing - Linh hồn của Rust