Menu
CoddyTech

Giá trị trả về

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 51 trên 75.

Câu lệnh return trong một phương thức dùng để xác định giá trị mà phương thức tạo ra làm đầu ra. Ví dụ, phương thức sau sẽ cho đầu ra là 100:

fn function_name() -> i32 {
	return 100;
}

Lưu ý rằng hàm trả về dữ liệu kiểu i32 vì có ký hiệu mũi tên ->.

Để gán giá trị trả về cho một biến, hãy viết:

let number: i32 = function_name();

Giờ đây, biến number sẽ lưu giá trị 100 vì đó là giá trị mà phương thức trả về.

Lưu ý rằng kiểu trả về (return type) của phương thức (method), trong trường hợp này là i32, phải khớp với kiểu dữ liệu (data type) của biến (variable) mà bạn dùng để lưu giá trị trả về.

challenge icon

Thử thách

Dễ

Mỗi test case có ba đầu vào.

Đầu vào đầu tiên cho biết số lần lặp, hai đầu vào cuối là các số mà chúng ta sẽ thực hiện phép toán.

Tạo một phương thức nhận hai đối số và trả về số lớn hơn trong hai số. Nếu cả hai bằng nhau thì trả về một trong hai số.

Lặp iterations lần và thực hiện các bước sau trong mỗi lần lặp:

  • Gọi phương thức với num1, num2 và lưu kết quả vào một biến.
  • Chia số lớn hơn trong hai số cho 2, sau đó thay biến lớn hơn ban đầu bằng giá trị mới.
  • In giá trị mới.  
  • Tiếp tục thực hiện cho đến khi chương trình lặp iterations lần hoặc một trong hai số nhỏ hơn 2.

Lưu ý, bạn đã có sẵn khung code!

Tự làm thử

use std::io;

fn bigger(arg1: f64, arg2: f64) -> f64 {
    // Hoàn thiện hàm

}

fn main() {
    let mut input_iter = String::new();
    let mut input_num1 = String::new();
    let mut input_num2 = String::new();

    io::stdin().read_line(&mut input_iter).unwrap();
    io::stdin().read_line(&mut input_num1).unwrap();
    io::stdin().read_line(&mut input_num2).unwrap();

    let iter: i32 = input_iter.trim().parse().unwrap();
    let mut num1: f64 = input_num1.trim().parse().unwrap();
    let mut num2: f64 = input_num2.trim().parse().unwrap();

    for _ in 0..iter {
        // Viết code bên dưới
    }
}
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 Kiến thức nền tảng

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