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中动态加载部分函数。
文章标题:golang: sort.Sort(sort.Reverse(n))是怎么进行逆排序,发布者:小编,转载请注明出处:https://worktile.com/kb/p/41224