如果要让map的key进行排序,首先要将key放入一个空切片中,然后再对这个切片进行sort操作就行了

    1. func sortMap(x map[string]int) {
    2. keys := make([]string,0,100)
    3. for key,_ := range x {
    4. keys.append(keys,key)
    5. }
    6. sort.Strings(keys)
    7. }

    上面代码做这些事:
    第3行:初始化了一个keys的空切片,长度为0,容量为100
    第5行:使用for range来遍历map x(x就是传进来的map),因为不用获取到map的val值,所以使用了匿名变量
    第6行:内部每循环一次就将拿到的key,追加至切片keys中
    第9行:遍历之后,使用sort包对keys切片进行排序

    在这个函数中将keys排序好后,x的引用值也将发生改变,因为map是引用类型,因此你不必担心外部map