1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| func test5() { fmt.Printf("---------------map排序-----------------\n") // Go的map是无序的 只在fmt.print打印时候有序 a := make(map[string]string, 5)
a["3"] = "hij" a["1"] = "abc" a["2"] = "def" a["4"] = "opq"
for k, v := range a { fmt.Printf("%s,%s\n", k, v) }
// 把map的key取出来放入slice进行排序 slices := make([]string, 0, 5) for k, _ := range a { slices = append(slices, k) } fmt.Printf("排序前,key:%v\n", slices) sort.Strings(slices) fmt.Printf("排序后,key:%v\n", slices)
for _, v := range slices { fmt.Printf("map[%s]:%s\n", v, a[v]) } }
func main() { test5() }
---------------map排序----------------- 3,hij 1,abc 2,def 4,opq 排序前,key:[3 1 2 4] 排序后,key:[1 2 3 4] map[1]:abc map[2]:def map[3]:hij map[4]:opq
|