Heim > Backend-Entwicklung > Golang > Warum gibt „yaml.Unmarshal()' eine leere Struktur in Go zurück?

Warum gibt „yaml.Unmarshal()' eine leere Struktur in Go zurück?

Susan Sarandon
Freigeben: 2024-12-07 16:46:13
Original
796 Leute haben es durchsucht

Why Does `yaml.Unmarshal()` Return an Empty Struct in Go?

YAML in Go Struct entmarshaling

In Go wird die Funktion yaml.Unmarshal() verwendet, um YAML-Daten in eine strukturierte Darstellung, beispielsweise eine Struktur, zu analysieren. Beim Versuch, YAML-Daten in eine Struktur zu analysieren, wird jedoch aus unbekannten Gründen eine leere Struktur zurückgegeben.

Die Lösung liegt in der Sichtbarkeit der Felder der Struktur. Standardmäßig werden Strukturfelder nicht exportiert, was bedeutet, dass auf sie nur innerhalb des Pakets zugegriffen werden kann, in dem die Struktur definiert ist. Um YAML-Daten in eine Struktur zu entmarshalieren, müssen die Felder exportiert werden.

Um Felder in einer Go-Struktur zu exportieren, schreiben Sie den ersten Buchstaben des Feldnamens groß. Zum Beispiel anstelle von:

type Config struct {
    foo_bar string
}
Nach dem Login kopieren

Verwenden Sie:

type Config struct {
    FooBar string
}
Nach dem Login kopieren

Dadurch wird das FooBar-Feld exportiert und ermöglicht den Zugriff darauf von außerhalb des Pakets. Nachdem Sie diese Änderung vorgenommen haben, kann yaml.Unmarshal() die YAML-Daten erfolgreich in die Struktur analysieren.

Das obige ist der detaillierte Inhalt vonWarum gibt „yaml.Unmarshal()' eine leere Struktur in Go zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage