サンプルで学ぶ Go 言語: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

次の例:Sorting by Functions