我試圖弄清楚如何在 Go 中讀取 YAML 文件,同時保留 YAML 文檔中的鍵順序。我見過的大多數(shù)示例都涉及對鍵進行排序,但這在我的情況下不起作用。此外,YAML 是任意結構的(鍵是用戶定義的,值是字符串和字符串列表的混合,也是用戶定義的),這使事情變得復雜。go-yaml.v2 似乎做我想做的事(http://blog.labix.org/2014/09/22/annoucing-yaml-v2-for-go),但我找不到任何關于如何做的例子使用訂購功能。這一點,加上對 Go 的全新認識,讓我很困惑。如果需要,我很樂意提供我嘗試解析的 YAML 示例。
1 回答

慕尼黑8549860
TA貢獻1818條經(jīng)驗 獲得超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 關注
- 169 瀏覽
添加回答
舉報
0/150
提交
取消