sort
包提供了这些用于对内置 slice 类型进行排序的函数:
sort.Ints(a []int)
sort.Float64s(a []float64)
sort.Strings(a []string)
它还提供了这些类型,用于将内置 slice 类型转换为具有 Len()
、Less()
、Search()
的命名类型、Sort()
和 Swap()
方法:
sort.IntSlice
sort.Float64Slice
sort.StringSlice
这意味着我可以像这样对一片整数进行排序...
// Function
slice := []int{5, 4, 3, 2, 1}
sort.Ints(slice) // sort in place
或者像这样...
// Method
slice := sort.IntSlice{5, 4, 3, 2, 1}
slice.Sort() // also sort in place
用函数排序还是用方法排序更好?是否有时应该优先使用一种形式而不是另一种形式?
最佳答案
sort.Ints(x)
的定义就是字面上的 sort.Sort(sort.IntSlice(x))
所以它真的没关系。前者较短,所以我会使用它。
关于sorting - 在 Go 中使用函数或方法排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23438124/