У меня есть очень простая структура YAML, которую я пытаюсь записать и прочитать из файла.
appName:
version: 1.2.3.4
md5_checksum: 987654321
И я действительно изо всех сил пытаюсь понять вложенные структуры и как они связаны с маршалингом yaml.
На данный момент у меня есть следующее:
type Application struct {
Name string `yaml:"application"`
Version string `yaml:"version"`
Checksum int `yaml:"md5_checksum"`
}
yamlData := Application{"MyProgram", "1.2.3.4", 34235234123}
y, err := yaml.Marshal(yamlData)
if err != nil {
log.Fatal("Yaml marshal failed")
}
err = ioutil.WriteFile("applications.yaml", y, 0644)
if err != nil {
log.Fatal("File write failed")
}
Это приближает меня, но файл выглядит следующим образом:
application: MyProgram
version: 1.2.3.4
md5_checksum: 34235234123
Это выглядит хорошо, но этофайл будет заполнен многими приложениями.Я пробовал несколько типов вложенных структур, но я зацикливался на том, как передавать им значения, когда наконец их строил.