Maison > développement back-end > Golang > Pourquoi `yaml.Unmarshal()` renvoie-t-il une structure vide dans Go ?

Pourquoi `yaml.Unmarshal()` renvoie-t-il une structure vide dans Go ?

Susan Sarandon
Libérer: 2024-12-07 16:46:13
original
795 Les gens l'ont consulté

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

Démarshaling YAML dans Go Struct

Dans Go, la fonction yaml.Unmarshal() est utilisée pour analyser les données YAML dans une représentation structurée, telle qu'une structure. Cependant, lorsque vous essayez d'analyser des données YAML dans une structure, une structure vide est renvoyée pour des raisons inconnues.

La solution réside dans la visibilité des champs de la structure. Par défaut, les champs de structure ne sont pas exportés, ce qui signifie qu'ils ne sont accessibles que dans le package dans lequel la structure est définie. Pour désassembler les données YAML dans une structure, les champs doivent être exportés.

Pour exporter des champs dans une structure Go, mettez en majuscule la première lettre du nom du champ. Par exemple, au lieu de :

type Config struct {
    foo_bar string
}
Copier après la connexion

Utilisez :

type Config struct {
    FooBar string
}
Copier après la connexion

Cela rend le champ FooBar exporté et permet d'y accéder depuis l'extérieur du package. Après avoir effectué cette modification, yaml.Unmarshal() peut analyser avec succès les données YAML dans la structure.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal