GO map按某字段排序

package main

import (
"fmt"
"sort"
)

type frequency struct {
char string
fre int
}

func frequencies(s string) []frequency {
m := make(map[string]int)
for _, r := range s {
m[string(r)]++
}
a := make([]frequency, 0, len(m))
for c, f := range m {
a = append(a, frequency{char: c, fre: f})
}
sort.Slice(a, func(i, j int) bool {
return a[i].fre > a[j].fre
})
return a
}
func main() {
str := "hiilovegogo"
fmt.Printf(str)
f := frequencies(str)
fmt.Println(f)
}
posted @ 2023-01-15 20:19  lisus2000  阅读(41)  评论(0编辑  收藏  举报