Dans Go, les énumérations sont généralement implémentées sous forme de constantes affectées de valeurs entières. Cependant, accéder au nom de l'énumération sans créer explicitement une méthode String() peut être fastidieux.
Considérez cet exemple :
const ( MERCURY = 1 VENUS = iota EARTH MARS JUPITER SATURN URANUS NEPTUNE PLUTO )
Pour obtenir le nom de l'énumération, on peut définir une String() méthode pour chaque valeur d'énumération, conduisant à une nouvelle saisie répétitive ou à une génération de code. Existe-t-il une alternative ?
Utilisation de l'outil Stringer
Go fournit l'outil Stringer, qui automatise la création de méthodes String() pour les constantes. En exécutant la commande suivante dans le même répertoire que le code ci-dessus :
stringer -type=MERCURY
un nouveau fichier mercury_string.go est généré dans le contexte du package, contenant :
func (MERCURY) String() string
Cette méthode permet récupère facilement le nom de l'énumération et réduit le besoin de conversion de chaîne explicite.
Supplémentaire Remarque :
Bien que cette technique résolve le problème de l'obtention de noms d'énumérations sans méthodes String() explicites, gardez à l'esprit qu'elle nécessite l'utilisation d'un outil externe et n'est pas toujours réalisable dans certains scénarios.
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!