Rust有一个叫做match的控制流运算符,和c++这种的switch类似。
enum Coin{
Penny,
Nickle,
Dime,
Quarter,
}
fn value_in_cents(coin:Coin)->u8{
match coin{
Coin::Penny => 1,
Coin::Nickle => 5,
Coin::Dime => 10,
Coin::Quarter => 25,
}
}
绑定值的模式
#[derive(Debug)]
enum UsState{
}
enum Coin{
Penny,
Nickle,
Dime,
Quarter,
}
fn value_in_cents(coin:Coin)->u8{
match coin{
Coin::Penny => 1,
Coin::Nickle => 5,
Coin::Dime => 10,
Coin::Quarter(state) => {
println!("State quarter from {:?}!",state);
},
}
}
_ 通配符
if let 可以用于解决match分支较少的情况