ホームページ  >  記事  >  バックエンド開発  >  golang リストの列挙名を出力します

golang リストの列挙名を出力します

王林
王林転載
2024-02-10 18:21:07579ブラウズ

打印 golang 列表的枚举名称

php Xiaobian Yuzai は、golang リストの列挙名を出力するための簡単で効果的な方法を紹介します。 golang では、列挙型は定数グループとして表され、定数グループをループして各定数の名前を出力することでこれを実現できます。この方法はシンプルで理解しやすいだけでなく、列挙型を含むあらゆる Golang プログラムにも適用できます。以下の手順に従うことで、golang リストの列挙名を簡単に出力できます。

質問内容

次の列挙とその文字列関数があります。 特定の動物の値に対して 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}]
}

Solution

@greedy52 が言ったように、ab をエクスポートする必要があります (これが正しい答えです)。

ただし、プライベートを保持し、同様の出力を得る場合は、次のように groupstring() メソッドを実装するだけです。 # リーリー

以上がgolang リストの列挙名を出力しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。