Khai báo hàm
Thuộc phần Kiến thức nền tảng trong hành trình Rust của Coddy. Bài học 49 trên 75.
Hàm (function) là một chuỗi lệnh có tên. Hàm giúp bạn dùng lại một đoạn code nhiều lần.
Ví dụ, hãy xem đoạn code này:
println!("Welcome to Coddy");
println!("New session...");
println!("Welcome to Coddy");
println!("Another session...");
println!("Welcome to Coddy");Chúng ta dùng đi dùng lại cùng một đoạn code println!("Welcome to Coddy"). Một vấn đề khác của đoạn code này là nếu muốn đổi thông điệp Welcome to Coddy thành nội dung khác, chẳng hạn như "Welcome aboard", thì bạn sẽ phải sửa 3 dòng code khác nhau. Để giải quyết vấn đề này, chúng ta sẽ dùng hàm (function).
Để khai báo một hàm (function), chúng ta dùng cú pháp sau:
fn function_name(parameters) {
// code
}Trong ví dụ này, chúng ta sẽ tạo một hàm (function) có tên là greet, hàm này sẽ trông như sau:
fn greet() {
println!("Welcome to Coddy");
}Để sử dụng/gọi/thực thi hàm (function), chúng ta viết greet();:
greet();
println!("New session...");
greet();
println!("Another session...");
greet();Điều này sẽ cho ra kết quả giống như ở trên.
Lưu ý: Trong Rust, trình biên dịch cho phép bạn gọi một hàm (function) trước khi khai báo hàm đó trong tệp. Tuy nhiên, theo quy ước, bạn nên viết phần định nghĩa hàm trước khi gọi hoặc thực thi hàm.
Thử thách
DễViết một chương trình nhận một đầu vào là một số. Số đầu vào cho biết cần thực thi hàm bên dưới bao nhiêu lần.
Tạo một hàm (function) tính tổng tất cả các số từ 1 đến 1000 (bao gồm cả hai số đó) rồi in kết quả ra. Bạn có thể đặt tên hàm tùy ý.
Lưu ý! Theo quy ước được khuyến nghị, hãy viết hàm trước các câu lệnh gọi hoặc thực thi hàm đó trong code.
Tự làm thử
use std::io;
// Khai báo hàm
fn sum_numbers() {
// Hoàn thiện hàm
}
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let n: i32 = input.trim().parse().unwrap();
for _ in 0..n {
// Gọi hàm n lần
}
}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 Kiến thức nền tảng
5Các toán tử phần 2
Các toán tử logic phần 1Các toán tử logic phần 2Ôn tập: logic đơn giảnCác toán tử logic phần 33Biến phần 2
Khai báo kiểu dữ liệuQuy ước đặt tênSuy luận kiểu dữ liệuÔn tập: Khởi tạo biếnÉp kiểu dữ liệu9Vòng lặp
Vòng lặp for qua chuỗiVòng lặp whileBreakContinueVòng lặp lồng nhauNhãn vòng lặpVòng lặp vô hạnÔn tập: Đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngMảng làm tham sốTruy cập phần tửChỉnh sửa mảngÔn tập: In mảng đẹp mắtTự luyện tập: Trình biên dịch Rust online