返回值
本课属于 Coddy Rust 学习旅程的“基础知识”单元。第 51 课,共 75 课。
方法中的 return 语句用于指定该方法应作为输出生成的一个或多个值。例如,以下方法会输出 100:
fn function_name() -> i32 {
return 100;
}注意,这个函数返回的是 i32 类型的数据,因为有箭头符号 ->。
要将返回值赋给变量,请这样写:
let number: i32 = function_name();现在,number 变量将保存 100,因为这是该方法返回的值。
注意,方法的返回类型(本例中为
i32)必须与用于存储返回值的变量的数据类型匹配。
挑战
简单每个测试用例有 3 个输入。
第一个输入表示要迭代多少次,最后两个输入是要对其进行操作的数字。
创建一个接收两个参数并返回较大的那个数字的方法。如果两个数字相等,则返回其中一个。
迭代 iterations 次,并在每次迭代中执行以下操作:
- 使用
num1和num2调用该方法,并将结果保存到一个变量中。 - 将两个数字中较大的那个除以
2,然后用新的结果值替换原来较大的变量。 - 打印新值。
- 继续执行,直到程序迭代了
iterations次,或者其中一个数字小于 2。
注意,你已经有了代码框架!
亲手试试
use std::io;
fn bigger(arg1: f64, arg2: f64) -> f64 {
// 补全这个函数
}
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 {
// 在下方编写你的代码
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Rust 在线编译器