スライスの並び替えをすることができます。
intやstringなど対象の型によって、記述方法が異なります。
s := []string{"ai", "hy", "bg", "rc"}
i := []int{1, 44, 100, 56, 89, 2}
type st struct { // 後でstructのスライスに要素を追加しない場合は、[]struct{定義}{要素}のように記述できる
Name string
Age int
}
sts := []st{
{"Amy", 38},
{"Cameron", 29},
{"Boomer", 12},
{"James", 92},
}
sts = append(sts, st{Name: "Rami", Age: 38}) //要素を追加する
sort.Strings(s)
sort.Ints(i)
sort.Slice(sts, func(i, j int) bool { return sts[i].Name < sts[j].Name }) // Nameの昇順に並び替える
sort.Slice(sts, func(i, j int) bool { return sts[i].Age > sts[j].Age }) // Ageの降順に並び替える
fmt.Println(s, i, sts)