如果要让map的key进行排序,首先要将key放入一个空切片中,然后再对这个切片进行sort操作就行了
func sortMap(x map[string]int) {
keys := make([]string,0,100)
for key,_ := range x {
keys.append(keys,key)
}
sort.Strings(keys)
}
上面代码做这些事:
第3行:初始化了一个keys的空切片,长度为0,容量为100
第5行:使用for range来遍历map x(x就是传进来的map),因为不用获取到map的val值,所以使用了匿名变量
第6行:内部每循环一次就将拿到的key,追加至切片keys中
第9行:遍历之后,使用sort包对keys切片进行排序
在这个函数中将keys排序好后,x的引用值也将发生改变,因为map是引用类型,因此你不必担心外部map