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分支较少的情况
