Golang在使用range遍歷map時的key隨機化問題及解決方法
Golang在使用range遍歷map時的key隨機化問題及解決方法
說到這個問題還真是奇葩,也有很多人遇到了
ofollow,noindex" target="_blank">https://blog.csdn.net/slvher/...
比如下面這個哥們就遇到了,也提出了很好的解決意見,因為最近我在用Golang搭建自己的部落格,在資料庫查詢的時候,也遇到了,只是偶爾會遇到這個問題,結果改完也徹底結局了頭痛多天的思路
思路其實很簡單
第一步建立一個儲存key的陣列
sortedKeys := make([]string, 0)
第二步將鍵值存入陣列,並對陣列進行排序
s := map[string]string{ "k1": "v1", "k2": "v2", "k3": "v3", } for k := range s { sortedKeys = append(sortedKeys, k) } sort.Strings(sortedKeys)
第三步通過陣列迴圈來遍歷map
value := []string{} for _, k := range sortedKeys { // key - k // value - s[k] fmt.Printf("%s = %s \n", k, s[k]) value = append(value, s[k]) }