Golang中国

我有一个map[string]int 的字典
内容是:
c:\go\bin 28114944
c:\go\blog 9762666
c:\go\misc 4446475
c:\go\api 6638614
c:\go\doc 3853678
c:\go\lib 366479
c:\go\pkg 160007794
c:\go\src 34909057
c:\go\test 4879732
我如何才能根据map的value来排序?

4 回复
nelly
#1 nelly • 2017-01-01 21:39

这有什么意义吗?

kulle
#2 kulle • 2017-01-01 23:03

还是把map[string]int改成结构体数组, 这样排序更简单.

DJason
#3 DJason • 2017-01-04 17:42

方法有好几种:
第一种比较笨,就是先把map中预先排序的参数取出来放入一个新的slice中,对slice排序后,根据结果对map排序;
然后是使用第三方包:github.com/as/structslice ,亲测好用。
当然这是在go1.8以下的办法,等到go1.8release版出来后,sort包就会添加对map排序的方法,一起期待吧。

Dream_ease
#4 Dream_ease • 2017-01-07 11:24

map本身就没有顺序

需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。