2016-03-27 27 views
0

我使用Go-Yaml將一些地圖序列化爲YAML。有沒有辦法確保序列化的YAML是按照它們被插入到Go Map中的順序寫入的?或者是否有必要自己重新實現Marshal接口?如何使用按鍵以放置順序生成YAML Go?

+4

Go中的地圖沒有定義的順序。實際上,它在迭代時顯式爲隨機:http://blog.golang.org/go-maps-in-action#TOC_7。 –

+0

請嘗試使用github.com/kylelemons/go-gypsy/yaml。 – hasanyasin

+0

@hasanyasin看起來它會有相同的問題,因爲它的Map在內部被表示爲'map [string] Node'。 – twotwotwo

回答

0

轉換地圖不會跟蹤插入順序。爲了做到這一點,你必須實現自己的機制來讀取密鑰並存儲訂單。