Rust有一个叫做match的控制流运算符,和c++这种的switch类似。

    1. enum Coin{
    2. Penny,
    3. Nickle,
    4. Dime,
    5. Quarter,
    6. }
    7. fn value_in_cents(coin:Coin)->u8{
    8. match coin{
    9. Coin::Penny => 1,
    10. Coin::Nickle => 5,
    11. Coin::Dime => 10,
    12. Coin::Quarter => 25,
    13. }
    14. }

    绑定值的模式

    1. #[derive(Debug)]
    2. enum UsState{
    3. }
    4. enum Coin{
    5. Penny,
    6. Nickle,
    7. Dime,
    8. Quarter,
    9. }
    10. fn value_in_cents(coin:Coin)->u8{
    11. match coin{
    12. Coin::Penny => 1,
    13. Coin::Nickle => 5,
    14. Coin::Dime => 10,
    15. Coin::Quarter(state) => {
    16. println!("State quarter from {:?}!",state);
    17. },
    18. }
    19. }

    _ 通配符

    if let 可以用于解决match分支较少的情况