Heim >Backend-Entwicklung >Golang >Wie kann ich Go-Enum-Namen abrufen, ohne die Methode String() zu verwenden?
Aufzählungsnamen in Go ohne String()-Methode abrufen
In Go ist es nicht möglich, Aufzählungsnamen direkt abzurufen, ohne sie explizit zu definieren als String-Werte mit der String()-Methode. Es gibt jedoch alternative Ansätze zur dynamischen Definition von Konstanten.
1. Stringer-Tool
Das Standard-Tools-Paket stellt das Stringer-Tool bereit, das automatisch eine String()-Methode für eine Aufzählung generiert. Durch Ausführen des folgenden Befehls:
stringer -type=EnumName
im selben Verzeichnis wie die Enum-Definition erstellt das Stringer-Tool eine Datei, die die Definition der String()-Methode enthält.
2. Strukturbasierte Aufzählung
Eine strukturbasierte Aufzählung umfasst die Definition eines zugrunde liegenden Aufzählungstyps und dessen Einbettung in eine Struktur. Jedes Feld der Struktur entspricht einem Enumerationswert und ist explizit mit seinem Namen gekennzeichnet. Der Vorteil dieses Ansatzes besteht darin, dass Sie direkt auf den Enum-Wert und seinen Namen zugreifen können.
3. Stringbasierte Aufzählung
In einer stringbasierten Aufzählung werden Aufzählungswerte als Zeichenfolgen dargestellt. Sie können eine Karte erstellen, die jedem Zeichenfolgewert einen entsprechenden konstanten Wert zuordnet. Dadurch können Sie den Namen einer Aufzählung basierend auf ihrem Wert programmgesteuert abrufen.
Während diese Methoden alternative Ansätze zur dynamischen Definition von Konstanten bieten, erfordern sie alle, dass Sie die Aufzählungsnamen explizit neu definieren oder angeben. Daher bieten sie möglicherweise keinen wesentlichen Vorteil gegenüber der herkömmlichen String()-Methode in Bezug auf die Wiederverwendbarkeit des Codes oder die einfache Wartbarkeit.
Das obige ist der detaillierte Inhalt vonWie kann ich Go-Enum-Namen abrufen, ohne die Methode String() zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!