位元詩人 [Rust] 程式設計教學:列舉 (Enum)

Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

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

建立列舉

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

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

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

在 match 中使用列舉

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

結合資料和行為

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

關於作者

身為資訊領域碩士,位元詩人 (ByteBard) 認為開發應用程式的目的是為社會帶來價值。如果在這個過程中該軟體能成為永續經營的項目,那就是開發者和使用者雙贏的局面。

位元詩人喜歡用開源技術來解決各式各樣的問題,但必要時對專有技術也不排斥。閒暇之餘,位元詩人將所學寫成文章,放在這個網站上和大家分享。