Struktur-Tags in Go: Können Variablen verwendet werden?
Struktur-Tags sind eine leistungsstarke Funktion von Go, mit der Entwickler Metadaten an Felder anhängen können . Diese Metadaten können von verschiedenen Tools wie JSON-Encodern und -Decodern verwendet werden.
Verwenden von String-Literalen für Struktur-Tags
Im ersten Beispiel verwenden Sie einen String Literal zum Definieren eines Struktur-Tags:
<code class="go">type Shape struct { Type string `json:"type"` }</code>
Dies ist ein gültiger Ansatz, da der Tag-Wert eine Zeichenfolgenkonstante zur Kompilierungszeit ist.
Versuch, Variablen für Struktur-Tags zu verwenden
Im zweiten Beispiel versuchen Sie, eine Variable zu verwenden, um ein Struktur-Tag zu definieren:
<code class="go">const ( TYPE = "type" ) type Shape struct { Type string fmt.Sprintf("json:\"%s\"", TYPE) }</code>
Dieser Ansatz führt jedoch zu einem Syntaxfehler, da der Compiler dies erwartet ein String-Literal als Tag-Wert. Variablen können nicht in Struktur-Tags verwendet werden, da der Tag-Wert zur Kompilierungszeit bekannt sein muss.
Fazit
Obwohl es praktisch erscheinen mag, Variablen für Struktur-Tags zu verwenden, ist die Die Go-Sprache erlaubt dies nicht. Sie müssen String-Literale verwenden, um Struktur-Tags zu definieren.
Das obige ist der detaillierte Inhalt vonKönnen Sie Variablen in Struktur-Tags in Go verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!