php小編魚仔為你介紹一個簡單而有效的方法,用於列印golang列表的枚舉名稱。在golang中,枚舉類型被表示為常數組,我們可以透過遍歷常數組並列印每個常數的名稱來實現這一目標。這種方法不僅簡單易懂,而且適用於任何包含枚舉類型的golang程式。透過以下幾步操作,你可以輕鬆地列印出golang列表的枚舉名稱。
我有以下枚舉及其字串函數。 當我對特定的 animal 值使用 println 時,正確的 名稱被列印。但是當我將其列印為完整列表時,然後 僅列印它們的整數值。 當我列印動物園清單時如何列印動物名稱?
package main import ( "fmt" ) type Animal int64 const ( Goat Animal = iota Cat Dog ) func (n Animal) String() string { switch n { case Goat: return "Goat" case Cat: return "Cat" case Dog: return "Dog" } return "?" } type Group struct { a, b Animal } type Zoo []Group func main() { var g1,g2 *Group g1 = new(Group) g1.a = Goat g1.b = Cat g2 = new(Group) g2.a = Dog g2.b = Cat var z1 Zoo z1 = []Group{*g1,*g2} fmt.Println("Animal: ", Dog) // prints Dog fmt.Println(z1) // prints [{0 1} {3 1}] }
正如@greedy52所說,應該導出a
和b
(這是正確的答案)。
但是,如果您想要保留它們private
並具有類似的輸出,只需在group
上實作string()
方法,如下所示:
func (g Group) String() string { return fmt.Sprintf("{%s %s}", g.a, g.b) }
以上是列印 golang 清單的枚舉名稱的詳細內容。更多資訊請關注PHP中文網其他相關文章!