Heim >Backend-Entwicklung >Golang >Wie kann ich Go-Enum-Namen erhalten, ohne manuell eine String()-Methode zu definieren?

Wie kann ich Go-Enum-Namen erhalten, ohne manuell eine String()-Methode zu definieren?

DDD
DDDOriginal
2024-11-28 14:41:11165Durchsuche

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

Enum-Namen ohne String()-Methode in Go abrufen

In Go werden Enums normalerweise durch konstante Werte dargestellt. Um den Namen eines Aufzählungswerts abzurufen, benötigen Sie eine String()-Methode, die für den Aufzählungstyp definiert ist. Es kann jedoch wünschenswert sein, die manuelle Erstellung von String()-Methoden zu vermeiden.

Alternative Methode mit dem Stringer-Tool

Das Standard-Stringer-Tool aus dem std-Paket kann automatisch eine String()-Methode für Sie generieren Aufzählungstyp. Betrachten Sie die folgende Enum-Definition:

const (
    MERCURY = 1
    VENUS = iota
    EARTH
    MARS
    JUPITER
    SATURN
    URANUS
    NEPTUNE
    PLUTO
)

Wenn Sie stringer -type=TheEnum in dem Verzeichnis ausführen, das Ihren Code enthält, wird die Datei theenum_string.go generiert, die eine String()-Methode für den Typ TheEnum definiert.

Vorteile der Verwendung von Stringer

Die Verwendung des Stringer-Werkzeugs bietet Folgendes Vorteile:

  • Automatische String()-Methode: Sie generiert die String()-Methode für Sie und reduziert so den manuellen Aufwand.
  • Konsistenz: Es stellt konsistente Zeichenfolgendarstellungen für Enum-Werte sicher.
  • Go Generate Compatibility: The Das Stringer-Tool funktioniert gut mit dem Befehl go generate und ermöglicht Ihnen die Integration der Enum-Generierung in Ihren Build-Prozess.

Das obige ist der detaillierte Inhalt vonWie kann ich Go-Enum-Namen erhalten, ohne manuell eine String()-Methode zu definieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn