Goのsortパッケージの使い方
Go言語のsortパッケージは、スライス、配列、ユーザー定義コレクションをソートするための機能を提供しています。sortライブラリを使用してソートする一般的な手順は次のとおりです。
- sortライブラリをインポートする:
import "sort"
- スライスまたは配列を定義します。
nums := []int{4, 2, 7, 1, 5}
- sort.Slice 関数を使用してスライスをソートする:
sort.Slice(nums, func(i, j int) bool {
return nums[i] < nums[j]
})
匿名関数が照合関数として用いられており、照合関数は、i 番目の要素が j 番目の要素の前に来るべき場合、 true を返します。
- 配列をSort.Sort()関数でソートする。
sort.Sort(sort.IntSlice(nums))
numsをソートするためにsort.IntSlice型を使用しています。sort.IntSlice型はint型のスライスで、ソートに利用できるsort.Interfaceインターフェイスを実装しています。
- sort.Reverse() 関数を使用して逆順に並べ替える
sort.Sort(sort.Reverse(sort.IntSlice(nums)))
sort.Reverse() 関数は sort.Interface 型を逆順にソートします。
- ソートされたスライスかどうかは、sort.IsSorted() 関数で判断できます。
sorted := sort.IsSorted(sort.IntSlice(nums))
ソートライブラリーの基本的な使い方について以上です。比較関数の調整やソートの種類については、必要に応じて変更できます。