golang中如何按照结构体的某个字段排序
导读:本文共3361字符,通常情况下阅读需要11分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 概述golang的sort包默认支持int, float64, string的从小大到排序:int -> Ints(x []int)float64 -> Float64s(x []float64)string -> Strings(x []string)同时它还提供了自定义的排序接口Interface,此接口保护三个方法。typeInterfa... ...
目录
(为您整理了一些要点),点击可以直达。golang的sort包默认支持int, float64, string的从小大到排序:
int -> Ints(x []int)
float64 -> Float64s(x []float64)
string -> Strings(x []string)
同时它还提供了自定义的排序接口Interface,此接口保护三个方法。
golang默认提供了三个类型,他们都实现了Interface:
Float64Slice
IntSlice
StringSlice
方法1:先使用提供的从大到小排序,再翻转
方法二:自定义类型实现
按年纪从大到小排序
打印
[{20 12} {11 12} {10 12} {10 12} {9 12}]
按年纪从大到小,如果年纪相等的,按身高从小到到
打印
[{20 12} {10 11} {10 100} {10 110} {10 120}]
sort.Sort 并不保证排序的稳定性。如果有需要, 可以使用 sort.Stable ,用法就是将sort.Sort 替换为 sort.Stable
附:go根据结构体中任意字段进行排序
Sort()
Reverse()
Less(i,j int) bool
Len() int
Swap(i,j int)
golang中如何按照结构体的某个字段排序的详细内容,希望对您有所帮助,信息来源于网络。