枚举在rust语言里是一个很强大的数据结构
定义枚举
和strut很类似,关键字是enum,同时我们也能为枚举里每个值增加不同的成员,和方法,见下面的例子
1 | enum IpAddrKind { |
match和if let
rust类似于其他编程语言开关语句(switch–case)的语法结构是match,/match必须穷举所有可能性,如果值关注几个分支,则需要_通配符,即 _ => (),
如果只助理一个分支则可以用if let,见下面,这种方式写的代码更少,缩进更少,也使用更少末班,使用if let放弃了穷举的可能,和match相比是简洁和穷尽的取舍
1 | fn main() { |
如何访问枚举的成员
可以用上面的if let和match
1 | //用Match访问成员变量 |
Option枚举
Option
见下面的plus_one函数
1 | fn plus_one(input: Option<i32>) -> Option<i32> { |