go 中 map 排序

go 中 map 排序,第1张

一 点睛

1 golang 中没有一个专门的方法针对 map 的 key 进行排序。

2 golang 中的 map 默认是无序的,注意也不是按照添加的顺序存放的,每次遍历,得到的输出可能不一样。

3 golang 中 map 的排序,是先将 key 进行排序,然后根据 key 值遍历输出即可。

二 代码
package main

import (
   "fmt"
   "sort"
)

func main() {
   // map的排序
   map1 := make(map[int]int)
   map1[10] = 100
   map1[1] = 13
   map1[4] = 56
   map1[8] = 90
   fmt.Println(map1)
   // 按照 map 的 key 的顺序进行排序输出
   // 1 先将 map 的 key 放入到切片中。
   // 2 对切片排序。
   // 3 遍历切片,然后按照 key 来输出 map 的值。
   var keys []int
   for k, _ := range map1 {
      keys = append(keys, k)
   }
   // 排序
   sort.Ints(keys)
   fmt.Println(keys)
   for _, k := range keys {
      fmt.Printf("map1[%v]=%v \n", k, map1[k])
   }
}
三 测试
map[10:100 1:13 4:56 8:90]
[1 4 8 10]
map1[1]=13
map1[4]=56
map1[8]=90
map1[10]=100

map[4:56 8:90 10:100 1:13]
[1 4 8 10]
map1[1]=13
map1[4]=56
map1[8]=90
map1[10]=100

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/990908.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存