golang: sort.Sort(sort.Reverse(n))是怎么进行逆排序

Reverse()只是返回了一个继承Interface(Golang中没有继承,这个只是为了方便理解,实际应该是组合)的结构体,但是这个结构体和其他不同的是他重新定义了Less()函数(比较函数),所以Reverse()虽然返回的是初始数据,但是改变了数据的Less()方法,在排序时调用这个就会产生逆排序的效果。

Reverse()只是返回了一个继承Interface(Golang中没有继承,这个只是为了方便理解,实际应该是组合)的结构体,但是这个结构体和其他不同的是他重新定义了Less()函数(比较函数),所以Reverse()虽然返回的是初始数据,但是改变了数据的Less()方法,在排序时调用这个就会产生逆排序的效果。

Reverse函数,用来反转列表,本例子用golang实现,反转一个slice列表。

因为slice是引用类型,因此直接修改参数的值即可。

延伸阅读:

什么是golang?

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。

文章包含AI辅助创作:golang: sort.Sort(sort.Reverse(n))是怎么进行逆排序,发布者:小编,转载请注明出处:https://worktile.com/kb/p/41224

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部