小白想问一下关于sort的用法的问题

Programmer1613 · · 734 次点击
谢谢各位大大 看到楼上的回复,我的问题已经解决了
#5
更多评论
1.在函数f之外可以通过 实现 sort.Interface的三个方法来使 A 具备排序功能,重点重写其 Less 方法。 2.在函数f内部要实现的话,就需要手动写很多代码,对 a 这个slice进行各种操作了,主要思路是通过变换将 每个元素的x,y体现到 slice的index上,然后对slice按照index排序就行了 第一种方案,代码清晰优雅,建议使用。
#1
polaris
社区,需要你我一同完善!
示例: ```go package main import ( "fmt" "sort" ) type User struct { Name string Age int } func main() { Sort() } func Sort() { users := []*User{ {"polaris", 23}, {"studygolang", 29}, {"polaris", 21}, {"studygolang", 27}, {"polaris", 24}, {"studygolang", 25}, } sort.Slice(users, func(i, j int) bool { if users[i].Name == users[j].Name { return users[i].Age < users[j].Age } return users[i].Name < users[j].Name }) for _, user := range users { fmt.Println(*user) } } ``` https://goplay.space/#LrwMQ45tOA
#2