系列: Rust 精進之路:構建可靠、高效軟件的底層邏輯
作者: 碼覺客
發布日期: 2025年4月20日
引言:當值擁有“選項”——超越結構體的表達力
在上一篇【結構體 Struct】中,我們學習了如何使用結構體將多個相關的數據字段組合成一個有意義的整體。結構體非常適合表示那些同時具有多個屬性的事物,比如一個用戶同時擁有用戶名、郵箱和登錄次數。
但是,現實世界中還有很多情況,一個值可能是多種不同可能性中的一種。例如:
- 一個 IP 地址,要么是 IPv4 版本,要么是 IPv6 版本。
- 一個圖形界面事件,可能是鼠標點擊、鍵盤按下、窗口大小改變等等中的一種。
- 一個操作的結果,可能是成功并帶有結果數據,也可能是失敗并帶有錯誤信息。
對于這種“或”關系(一個值是 A 或 B 或 C),結構體就顯得力不從心了。這時,Rust 提供了另一個強大的自定義數據類型工具——枚舉 (Enumeration,簡稱 Enum)。
枚舉允許你定義