枚举是什么

枚举从广义的理解可以是一个可被列举的集合 如周一到周日,这就是一个枚举。 枚举的两个特性:
  1. 可被列举的集合(不能是无穷尽的)
  2. 不可变性(一周7天我有生之年应该不会变了)

为什么需要枚举

需要能看懂!是为了让计算机语言更加偏向自然语言,也就是偏向鱼人能理解的话。 简单的来说就是提高代码的可读性。

示例:

  1. enum Week {
  2. Monday,
  3. Tuesday,
  4. Wednesday,
  5. Thursday,
  6. Friday,
  7. Saturday,
  8. Sunday,
  9. }
  10. let today = Week::Tuesday;

Rust中的枚举怎么使用

枚举类型是一个类型,它会包含所有可能的枚举成员, 而枚举值是该类型中的具体某个成员的实例。

定义枚举类型

  1. enum Week {
  2. Monday,
  3. Tuesday,
  4. Wednesday,
  5. Thursday,
  6. Friday,
  7. Saturday,
  8. Sunday,
  9. }

声明枚举值

  1. let today = Week::Tuesday;

多类型的枚举值

  1. enum Message {
  2. Quit,
  3. Move { x: i32, y: i32 },// 结构体
  4. Write(String),//string
  5. ChangeColor(i32, i32, i32),//元组
  6. }
  7. fn main() {
  8. let m1 = Message::Quit;
  9. let m2 = Message::Move{x:1,y:1};
  10. let m3 = Message::ChangeColor(255,255,0);
  11. }