我正在尝试对切片中的int切片进行排序,例如:
slices := make([][]int32, 0)
slices = append(slices, []int32{10,22})
slices = append(slices, []int32{13,22})
slices = append(slices, []int32{12,22})
// [[10 22] [13 22] [12 22]]
// to become
// [[10 22] [12 22] [13 22]] (ascending)
// *by the first element in slice
我不知道这一点,但是我正在考虑在检查后追加和添加
答案 0 :(得分:1)
您需要的是使用排序包中的Slice
package main
import (
"fmt"
"sort"
)
func main() {
a := [][]int{[]int{10,3}, []int{5,12}, []int{5, 3}, []int{1,1}}
fmt.Printf("before: %v\n", a)
sort.Slice(a, func(i,j int) bool{ return a[i][0] < a[j][0]})
fmt.Printf("after: %v\n", a)
}
要稳定地使用排序,请改用sort.SliceStable。