はじめに
どの言語でも一発でsortするメソッドは用意されているものだが、あまり馴染みのない言語だと時間がかかるものだ。
go言語でのsortについてまとめる。
以下、自分用メモ。
コード
package main import ( "fmt" "sort" ) func main() { i := []int{5, 3, 2, 8, 7} s := []string{"c", "a", "z"} p := []struct { Name string Point int }{ {"AAA", 50}, {"BBB", 40}, {"CCC", 10}, {"DDD", 20}, } // Intをsort(昇順) sort.Ints(i) fmt.Println(i) // stringをアルファベット順にsort sort.Strings(s) fmt.Println(s) // structをStringでsort (名前順) sort.Slice(p, func(i, j int) bool { return p[i].Name < p[j].Name }) fmt.Println(p) // structをIntでsort (昇順) sort.Slice(p, func(i, j int) bool { return p[i].Point < p[j].Point }) fmt.Println(p) }
出力結果
[2 3 5 7 8] [a c z] [{AAA 50} {BBB 40} {CCC 10} {DDD 20}] [{CCC 10} {DDD 20} {BBB 40} {AAA 50}]
golang の書籍
golang の書き方ではなく、お作法を学ぶことができる良書。