一直在用 PHP,没怎么接触过 java等其他语言。对 GO 的理解不深入。今天学习了下泛型。mark 一下。一个泛型函数,支持comparable的任意类型排序.比较简单,诸位莫笑。
func Sort[T comparable](data []T, less func(curr T, next T) bool) {
sort.Slice(data, func(i, j int) bool {
return less(data[i], data[j])
})
}
type SearchItem struct {
Content string
AtTime int
}
utils.Sort(searchItems, func(curr SearchItem, next SearchItem) bool{
return curr.AtTime < next.AtTime
})