Rust 程式設計:枚舉

和結構類似,枚舉 (enum) 也是一種複合型別,枚舉中的資料為程式設計者所指定的有限的數個可能性。枚舉是相當實用的概念,Rust 的標準函式庫中也有許多場合使用到枚舉。

建立枚舉

Rust 的枚舉分為兩種,一種是無資料的枚舉,一種是有資料的枚舉。以下實例建立無資料的枚舉:

在我們這個例子中,雖然也可以用常數 (constant) 來達成類似的效果,但用枚舉較佳,因為建立枚舉時,也建立了新的型別,Rust 編譯器會利用枚舉的資訊幫我們檢查程式碼。

Rust 的枚舉也可以帶資料,如以下實例:

在 match 中使用枚舉

在 match 中使用到枚舉時,同樣需窮舉所有的可能性。如下:

結合資料和行為

如同結構,枚舉也可以將資料和行為結合,利用物件導向的機制建立自己的型別系統。我們將於後續章節介紹相關內容。