union
用來定義多型別單一值。
如有某一個數值在概念上可以用多種型別表達,但同時只會是一種型別的話,就可以用 union
處理。
基本
Tagged
你可以為 union
加上 enum
標記,這樣它會變成 Tagged union,隨後你可以使用其 enum
來判斷目前是那個型別在作用中。通常搭配 switch
和 Payload 語法使用。
如果覺得這樣還要多打一個 enum
很麻煩的話,可以直接在 union()
內鍵入 enum
。注意 switch
配對的對象。
方法
如同 struct
和 enum
,Zig 的 union
也可以包含方法。
Tag Name
Tagged union 如果要取得字串形式的 tag name,可以用 @tegName
。
參考
本文以 Zig 0.13.0
為主。並同時發佈在:
留言可能不會立即顯示。若過了幾天仍未出現,請 Email 聯繫:)