gpt4 book ai didi

go - 使用 Go 保留 YAML 映射的顺序

转载 作者:IT王子 更新时间:2023-10-29 00:53:59 28 4
gpt4 key购买 nike

我正在尝试弄清楚如何在 Go 中读取 YAML 文件,同时保留 YAML 文档中的键顺序。我见过的大多数示例都涉及对键进行排序,但这在我的情况下不起作用。此外,YAML 是任意结构的(键是用户定义的,值是字符串和字符串列表的混合,也是用户定义的),这使事情变得复杂。

go-yaml.v2 似乎可以满足我的要求 ( http://blog.labix.org/2014/09/22/announcing-yaml-v2-for-go ),但我找不到任何有关如何使用排序功能的示例。这一点,加上对 Go 完全陌生,让我很困惑。

如果需要,我很乐意提供我尝试解析的 YAML 示例。

最佳答案

给你:

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)

关于go - 使用 Go 保留 YAML 映射的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33639269/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com