天天看點

Golang對map中的key進行排序

package main

import (
	"fmt"
	"sort"
)

func main() {
    //首先生成26個字母充當map中的key
	var a = 'a'
	var m map[string]int = make(map[string]int)
	for i := 0; i < 26; i++ {
		// fmt.Printf("%c", a)  //%c 是輸出字元
		key := fmt.Sprintf("%c", a)
		a++          //在底層就是一個ACSILL碼 在a的對應的底層數字是96基礎上加1  a++ 等于 a=a+1 等于 a+=1  這幾種形式都是等價的
		m[key] = i
	}
	fmt.Println(m)
	//對以上的map的key進行排序 首先我們将map的key存放在一個切片中
	var sslice []string
	for key, _ := range m {
		sslice = append(sslice, key)
	}
	sort.Strings(sslice)

	//在将key輸出
	for _, v := range sslice {
		fmt.Printf("key=%v value=%v\n", v, m[v])
	}
}
      

  

轉載于:https://www.cnblogs.com/egrep/p/9721452.html