sort
包提供以下功能,用于对内置 slice 类型进行排序:
sort.Ints(a []int)
sort.Float64s(a []float64)
sort.Strings(a []string)
它还提供了以下类型,以便使用
Len()
,Less()
,Search()
,Sort()
和Swap()
方法将内置 slice 类型转换为命名类型: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/