Maison > développement back-end > Golang > Comment puis-je obtenir des noms Go Enum sans définir manuellement une méthode String() ?

Comment puis-je obtenir des noms Go Enum sans définir manuellement une méthode String() ?

DDD
Libérer: 2024-11-28 14:41:11
original
228 Les gens l'ont consulté

How Can I Get Go Enum Names Without Manually Defining a String() Method?

Obtention de noms d'énumérations sans méthode String() dans Go

Dans Go, les énumérations sont généralement représentées à l'aide de valeurs constantes. Pour récupérer le nom d'une valeur enum, vous avez besoin d'une méthode String() définie pour le type enum. Cependant, il peut être souhaitable d'éviter de créer manuellement des méthodes String().

Méthode alternative utilisant l'outil Stringer

L'outil stringer standard du package std peut générer automatiquement une méthode String() pour votre type enum. Considérez la définition d'énumération suivante :

const (
    MERCURY = 1
    VENUS = iota
    EARTH
    MARS
    JUPITER
    SATURN
    URANUS
    NEPTUNE
    PLUTO
)
Copier après la connexion

L'exécution de stringer -type=TheEnum dans le répertoire contenant votre code générera le fichier theenum_string.go, définissant une méthode String() pour le type TheEnum.

Avantages de l'utilisation de Stringer

L'utilisation de l'outil Stringer offre les éléments suivants avantages :

  • Méthode automatique String() : Elle génère la méthode String() pour vous, réduisant ainsi l'effort manuel.
  • Cohérence : Il garantit des représentations de chaîne cohérentes pour les valeurs d'énumération.
  • Allez générer la compatibilité : Le L'outil stringer fonctionne bien avec la commande go generate, vous permettant d'intégrer la génération d'énumérations dans votre processus de construction.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal