Sorting
#
// Go の `sort` パッケージは、組み込み型もユーザー定義型もソートできる。
// まずは、組み込み型のソートを見てみよう。
package main
import (
"fmt"
"sort"
)
func main() {
// ソートメソッドは組み込み型ごとに別々である。
// ここでは文字列をソートするメソッドを使っている。
// ソートは in-place である。つまり、引数に渡したスライスを変更し、新たなスライスを返すわけではない。
strs := []string{"c", "a", "b"}
sort.Strings(strs)
fmt.Println("Strings:", strs)
// `int` 型のスライスをソートする例
ints := []int{7, 2, 4}
sort.Ints(ints)
fmt.Println("Ints: ", ints)
// `sort` パッケージを使って、スライスがソート済みかどうかを確認することもできる。
s := sort.IntsAreSorted(ints)
fmt.Println("Sorted: ", s)
}
# プログラムを実行すると、ソートされた文字列のスライス、
# ソートされた整数のスライスが表示され、
# `AreSorted` の結果として `true` が表示される。
$ go run sorting.go
Strings: [a b c]
Ints: [2 4 7]
Sorted: true