Enum类型

枚举(Enum)类型通常用来归纳多种可穷举的具体事物。简单点说,枚举是一种包含零个、一个或多个具体值的数据类型。

比如,下面列出的几种情况都可以定义为枚举类型:

  • 【性别】包含男和女
  • 【月份】包含一月、二月、......、十二月
  • 【星期】包含星期一、星期二、......、星期日
  • 【会员】包含免费会员、vip1、vip2、vip3
  • 【方向键】包含上、下、左、右
  • 【方向】包含东、南、西、北

但枚举类型不能用来描述无法穷举的事物。例如【整数】虽然包含0、1、2、......,但这样的值无穷无尽,此时不应该直接用枚举类型,而应该使用具有概括性的方式去描述它们,比如枚举正整数、0、负整数这三种情况,也可以枚举所需的1、2、3后,再用一个额外的Other来通配所有其他情况。

Rust支持枚举类型,且Rust的枚举类型比其他语言的枚举类型更为强大。