If-Else
本课属于 Coddy Rust 学习旅程的“基础知识”单元。第 25 课,共 75 课。
如果满足某个条件,if 可以让我们执行特定的代码。但如果条件不满足时,我们想执行其他内容,该怎么办?
为此,我们可以使用 else 语句:
let age: i32 = 15;
let status = if age >= 18 {
"Adult"
} else {
"Young"
};在上面的示例中,age 小于 18,这意味着程序会进入 else 代码块,status 的值将是 "Young"。
我们甚至可以用 else if 语句让判断更加深入:
let age: i32 = 68;
let status = if age < 18 {
"Young"
} else if age >= 18 && age <= 65 {
"Adult"
} else {
"Old"
};这里会检查 age 是否小于 18。如果不是,就会继续检查下一个条件,判断 age 是否在 18 到 65 之间。如果也不满足这个条件,就会将 status 设置为 "Old"。
我们可以根据需要添加任意多个 else if 语句:
if condition1 {
code;
} else if condition2 {
code;
} else if condition3 {
code;
}
...挑战
入门给定一段代码,它会读取一个表示风速的数字作为输入,并将其存储在名为 wind 的变量中。
注意:我们会在后续课程中学习如何获取用户输入。目前先不要改动前几行。
你的任务是根据以下条件初始化变量 status:
- 如果
wind小于8,则设为"Calm"; - 如果
wind在8到31之间(包括 8 和 31),则设为"Breeze"。 - 如果
wind在32到63之间(包括 32 和 63),则设为"Gale" - 否则设为
"Storm"
查看测试用例,了解所有输入和预期输出
亲手试试
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let wind: i32 = input.trim().parse().unwrap();
// 将下面这行替换为 if-else 表达式,根据 wind 给 status 赋值
let status = "unset";
// 不要修改下面这行
println!("status = {}", status);
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Rust 在线编译器