2014-05-02 9 views
5

Il pacchetto sort fornisce tali funzioni per l'ordinamento dei tipi fetta built:Ordina con una funzione o un metodo in Vai?

  • sort.Ints(a []int)
  • sort.Float64s(a []float64)
  • sort.Strings(a []string)

Fornisce anche questi tipi per convertire i tipi di sezioni incorporate per i tipi di nome con Len(), Less(), Search(), Sort() e Swap() metodi:

  • sort.IntSlice
  • sort.Float64Slice
  • sort.StringSlice

Questo significa che posso ordinare una fetta di int come questo ...

// Function 
slice := []int{5, 4, 3, 2, 1} 
sort.Ints(slice) // sort in place 

o come questo ..

// Method 
slice := sort.IntSlice{5, 4, 3, 2, 1} 
slice.Sort() // also sort in place 

È preferibile ordinare con una funzione o un metodo? Ci sono momenti in cui una forma deve essere preferita rispetto all'altra?

risposta

7

La definizione di sort.Ints(x) è letteralmente sort.Sort(sort.IntSlice(x)) quindi non importa. Il primo è più corto, quindi lo userei.

Problemi correlati