Rust 中的 switch
语句主要用于处理基于不同条件的执行路径。它可以处理以下几种情况:
switch
可以根据整数或枚举变量的不同值来执行不同的代码块。例如:let number = 2;
match number {
1 => println!("Number is 1"),
2 => println!("Number is 2"),
3 => println!("Number is 3"),
_ => println!("Number is not 1, 2, or 3"),
}
switch
也可以根据字符串字面量的不同值来执行不同的代码块。例如:let fruit = "apple";
match fruit {
"apple" => println!("Fruit is an apple"),
"banana" => println!("Fruit is a banana"),
"orange" => println!("Fruit is an orange"),
_ => println!("Unknown fruit"),
}
switch
还可以根据布尔值的不同情况来执行不同的代码块。例如:let is_raining = true;
match is_raining {
true => println!("It's raining"),
false => println!("It's not raining"),
}
需要注意的是,Rust 的 switch
语句不支持 else if
语法,但可以使用 if let
结合模式匹配来实现类似的功能。此外,Rust 的 switch
语句在编译时会进行严格的类型检查,确保每个条件分支都是互斥的,不会出现重叠的情况。