Golang 通过结构体实现字典按值排序

Jackey Golang 5,585 次浏览 , 没有评论
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "sort"
  6. )
  7.  
  8. func main() {
  9. mapInfo := map[string]int32{
  10. "roy":18,
  11. "kitty":16,
  12. "hugo":21,
  13. "tina":35,
  14. "jason":23,
  15. }
  16.  
  17. type peroson struct {
  18. Name string
  19. Age int32
  20. }
  21.  
  22. var lstPerson []peroson
  23. for k, v := range mapInfo {
  24. lstPerson = append(lstPerson, peroson {k, v})
  25. }
  26.  
  27. sort.Slice(lstPerson, func(i, j int) bool {
  28. return lstPerson[i].Age > lstPerson[j].Age // 降序
  29. // return lstPerson[i].Age < lstPerson[j].Age // 升序
  30. })
  31.  
  32. fmt.Println(lstPerson)
  33. }

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Go