testMap := make(map[string]string)
testMap["gbh"] = "1"
testMap["pbh"] = "10"
testMap["abh"] = "19"
testMap["bjh"] = "4"
testMap["ohb"] = "80"
fmt.Println(testMap)
打印的结果map[abh:19 gbh:1 ljh:4 ohb:80 pbh:10]
,看起来已经按照key排序好了呀?
有疑问加站长微信联系(非本文作者)

map 好像内部存储是有序的,只是在遍历的时候,会随机选一个bucket 进行.
注意:遍历输出元素的顺序与填充顺序无关,不能期望 map 在遍历时返回某种期望顺序的结果。
go的map故意设计的遍历时无序。目的是防止程序员写出依赖map遍历顺序的代码
我每次刷新输出都是这样有序的,range是无序随机的,这个我知道。
数据结构的知识有待加强啊