我试图弄清楚如何在 Go 中读取 YAML 文件,同时保留 YAML 文档中的键顺序。我见过的大多数示例都涉及对键进行排序,但这在我的情况下不起作用。此外,YAML 是任意结构的(键是用户定义的,值是字符串和字符串列表的混合,也是用户定义的),这使事情变得复杂。go-yaml.v2 似乎做我想做的事(http://blog.labix.org/2014/09/22/annoucing-yaml-v2-for-go),但我找不到任何关于如何做的例子使用订购功能。这一点,加上对 Go 的全新认识,让我很困惑。如果需要,我很乐意提供我尝试解析的 YAML 示例。
1 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
干得好:
var data = `
a: Easy!
b:
c: 2
d: [3, 4]
`
m := yaml.MapSlice{}
err := yaml.Unmarshal([]byte(data), &m)
if err != nil {
log.Fatalf("error: %v", err)
}
fmt.Printf("--- m:\n%v\n\n", m)
- 1 回答
- 0 关注
- 152 浏览
添加回答
举报
0/150
提交
取消