syte_name_info.go 532 B

1234567891011121314151617181920212223
  1. package ass
  2. import "sort"
  3. type StyleNameInfo struct {
  4. Name string
  5. Count int
  6. }
  7. type StyleNameInfos []StyleNameInfo
  8. func (a StyleNameInfos) Len() int { return len(a) }
  9. func (a StyleNameInfos) Less(i, j int) bool { return a[i].Count < a[j].Count }
  10. func (a StyleNameInfos) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
  11. func sortMapByValue(m map[string]int) StyleNameInfos {
  12. p := make(StyleNameInfos, len(m))
  13. i := 0
  14. for k, v := range m {
  15. p[i] = StyleNameInfo{k, v}
  16. i++
  17. }
  18. sort.Sort(sort.Reverse(p))
  19. return p
  20. }