Я хочу сгенерировать следующее в yaml:
- bar: hello
- bar: another
pint: guiness
- bar: second
pint: ""
в Golang, однако, сделав следующий пример, я получаю вывод ниже:
- bar:
- bar: hello
- bar: another
pint: guiness
- bar:
- bar: second
pint: ""
Кажется, YAML Golangparser помещает имена структур в YAML, которые он генерирует, например - bar:
, а затем массив элементов под ним.Я не хочу этого, потому что это сломает другие вещи.
package main
import (
"fmt"
"gopkg.in/yaml.v2"
"log"
)
type bar struct {
Bar string
}
type foo struct {
Bars []bar `yaml:"bar"`
Pint string `yaml:"pint"`
}
func main() {
f := make([]foo, 2)
f[0].Bars = make([]bar, 2)
f[0].Bars[0].Bar = "hello"
f[0].Bars[1].Bar = "another"
f[0].Pint = "guiness"
f[1].Bars = make([]bar, 1)
f[1].Bars[0].Bar = "second"
y, err := yaml.Marshal(f)
if err != nil {
log.Fatalf("Marshal: %v", err)
}
fmt.Println(string(y))
}
Я задавался вопросом, есть ли способ заставить его генерировать это, как в первом примере?
Даже если это означает, что мне нужно использовать другую библиотеку YAML.