Maison >développement back-end >Golang >Imprimer le nom de l'énumération de la liste Golang
l'éditeur php Yuzai vous présente une méthode simple et efficace pour imprimer le nom d'énumération de la liste golang. En Golang, les types d'énumération sont représentés sous forme de groupes constants, et nous pouvons y parvenir en parcourant le groupe constant et en imprimant le nom de chaque constante. Cette méthode est non seulement simple et facile à comprendre, mais également applicable à tout programme Golang contenant des types énumérés. En suivant les étapes suivantes, vous pouvez facilement imprimer le nom de l'énumération de la liste golang.
J'ai l'énumération suivante et ses fonctions de chaîne. Lorsque j'utilise println sur une valeur animale spécifique, le bon Le nom est imprimé. Mais quand je l'imprime sous forme de liste complète, alors Seules leurs valeurs entières sont imprimées. Comment imprimer les noms des animaux lorsque j'imprime une liste de zoo ?
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}] }
Comme @greedy52 l'a dit, il devrait être exporté a
和b
(ce qui est la bonne réponse).
Mais si vous souhaitez les conserver private
并具有类似的输出,只需在 group
上实现 string()
méthode comme ceci :
func (g Group) String() string { return fmt.Sprintf("{%s %s}", g.a, g.b) }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!