Golang map[string]int根据值来排序

引用 "sort" 包

func (a CounterArr) Len() int { // 重写 Len() 方法
    return len(a)
}
func (a CounterArr) Swap(i, j int) { // 重写 Swap() 方法
    a[i], a[j] = a[j], a[i]
}
func (a CounterArr) Less(i, j int) bool { // 重写 Less() 方法, 从大到小排序
    return a[j].Count < a[i].Count
}

type Counter struct {
    Name  string
    Count int
}
type CounterArr []Counter

func main() {
     //定义数组
     var sortArr []interface{}
     countMap := Counter{
          Name: '测试',
          Count: 0
     }
     sortArr = append(sortArr, countMap)
     //排序方法
     sort.Sort(CounterArr(sortArr))
     fmt.Println(sortArr)
}

你可能感兴趣的:(golang)