1. func Slice(slice interface{}, less func(i, j int) bool)
安定なソートではないので注意2. 例
package main
import (
"fmt"
"sort"
)
func main() {
numbers := []int{5, 3, 4, 1, 2}
// 昇順でソート
sort.Slice(numbers, func(i, j int) bool {
return numbers[i] < numbers[j]
})
fmt.Println(numbers)
numbers = []int{5, 3, 4, 1, 2}
// 降順でソート
sort.Slice(numbers, func(i, j int) bool {
return numbers[i] > numbers[j]
})
fmt.Println(numbers)
}