match是一个灵活性极高的语法。可以有效的丢掉if else屎山带来的维护麻烦,且可以用它来实现别的语言的try_catch。
首先需要枚举(不能使用结构体,结构体的类型并不具有唯一性)
接着实体化
这样coin变量就是Coin::Number的实体了

这里match coin的意思是匹配coin的类型
如果是Coin::Number就返回str类型的1元
如果是Coin::Flower就返回str类型的牡丹
等价代码就是
if coin == Number{"1元"}else if coin ==Flower{"牡丹"}
这样是不是好看很多了呢?
这里的完整代码是
fn main(){enum Coin{Number,Flower}let coin = Coin::Number; ‣coin: Coinlet a = match coin{ ‣a: &strCoin::Number => "1元",Coin::Flower => "牡丹"};println!("{}",a);}
