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 語句在編譯時會進行嚴格的類型檢查,確保每個條件分支都是互斥的,不會出現重疊的情況。