如何对int64的切片进行排序呀,求教

Junmu777 · · 1063 次点击
<a href="/user/polaris" title="@polaris">@polaris</a> 学会了学会了,实现了sort包里面的Sort方法里面的三个函数就可以进行自定义排序了 ```go package main import ( &#34;fmt&#34; &#34;sort&#34; ) type myInt64 []int64 func (p myInt64) Len() int { return len(p) } func (p myInt64) Less(i, j int) bool { return p[i] &lt; p[j] } func (p myInt64) Swap(i, j int) { p[i], p[j] = p[j], p[i] } func main() { ss := []int64{12, 54, 23, 234, 66, 1, 21, 123} sort.Sort(myInt64(ss)) fmt.Println(ss) } ``` 感谢
#2
更多评论
polaris
社区,需要你我一同完善!
看 sort 包
#1
go中的方法也是可以传入的,类似java中的lambda。 所有你可以直接这样做 ``` package test import ( &#34;fmt&#34; &#34;sort&#34; &#34;testing&#34; ) func TestSort(t *testing.T) { ss := []int64{12, 54, 23, 234, 66, 1, 21, 123} sort.SliceStable(ss, func(i, j int) bool { return ss[i]&lt;ss[j] }) fmt.Println(ss) } ```
#3