Enum類型

枚舉(Enum)類型通常用來歸納多種可窮舉的具體事物。簡單點說,枚舉是一種包含零個、一個或多個具體值的數據類型。

比如,下面列出的幾種情況都可以定義為枚舉類型:

  • 【性別】包含男和女
  • 【月份】包含一月、二月、......、十二月
  • 【星期】包含星期一、星期二、......、星期日
  • 【會員】包含免費會員、vip1、vip2、vip3
  • 【方向鍵】包含上、下、左、右
  • 【方向】包含東、南、西、北

但枚舉類型不能用來描述無法窮舉的事物。例如【整數】雖然包含0、1、2、......,但這樣的值無窮無盡,此時不應該直接用枚舉類型,而應該使用具有概括性的方式去描述它們,比如枚舉正整數、0、負整數這三種情況,也可以枚舉所需的1、2、3後,再用一個額外的Other來通配所有其他情況。

Rust支持枚舉類型,且Rust的枚舉類型比其他語言的枚舉類型更為強大。