Rust – 开关盒
switch 语句基本上是嵌套的 if 语句,虽然它不支持表达式,但它匹配 int、 字符串或 boolean 数据类型变量与程序员提供的一组给定案例。它主要用于菜单驱动的程序,用户可以在其中选择要运行的函数。 Rust 中的 switch case 是通过关键字匹配来实现的。让我们看几个例子,看看它是如何工作的。
1.单变量匹配:
与 C 或Java不同,只执行匹配对应的 case,所以我们不必担心失败。从而节省了我们在每个 case 之后编写 break 语句的工作。默认情况下,找不到匹配项,由情况“_”(下划线)处理。 Rust 有一些特别之处,cases 可以有多个值。
例子:
Rust
fn main() {
let num=3;
match num{
1=>println!("One"),
2=>println!("Two"),
3=>println!("Three"),
_=>println!("Rest of the number"),
}
Rust
fn main() {
let num=2;
match num{
1|3|5|7|9=>println!("Odd"),
2|4|6|8=>println!("Even"),
_=>println!("Only one digit allowed"),
}
}
Rust
fn main() {
let num=19;
match num{
13..=19=>println!("Teenage"),
_=>println!("Not Teenage"),
}
}
Rust
fn main() {
let head = false;
let coin_side = match head{
false => "tail",
true => "head",
};
println!("Coin Side={}", coin_side)
}
Rust
fn main() {
let coin = "head";
match coin{
"head" =>println!("head"),
"tail"=> println!("tail"),
_=>println!("False coin"),
};
}
输出
Three
2. 一个案例中的几个值:
通过使用“|”分隔多个值,可以将它们包含在单个大小写中。
例子:
锈
fn main() {
let num=2;
match num{
1|3|5|7|9=>println!("Odd"),
2|4|6|8=>println!("Even"),
_=>println!("Only one digit allowed"),
}
}
输出
Even
我们还可以在每种情况下包含一系列值,这还不是结束。
3. 包含范围的情况:
在这种情况下,范围是包含在内的,这意味着还包括两端。
例子:
锈
fn main() {
let num=19;
match num{
13..=19=>println!("Teenage"),
_=>println!("Not Teenage"),
}
}
输出
Teenage
4.布尔匹配案例:
正如开头所说,我们还可以使用布尔值来匹配案例,现在我们将继续使用它。还有一件事是 match 可以在表达式中使用。
例子:
锈
fn main() {
let head = false;
let coin_side = match head{
false => "tail",
true => "head",
};
println!("Coin Side={}", coin_side)
}
输出
Coin Side=tail
5. 字符串匹配案例:
最后,我们将看到如何在匹配中使用字符串。
例子:
锈
fn main() {
let coin = "head";
match coin{
"head" =>println!("head"),
"tail"=> println!("tail"),
_=>println!("False coin"),
};
}
输出
head