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/

    10-13 09:38