0%
前言
Go通过实现接口实现结构体自定义排序
定义自定义结构体
1 2 3 4 5
| type User struct { Id int }
type UserSlice []User
|
实现接口
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| func (userSlice UserSlice) Len() int { return len(userSlice) }
func (userSlice UserSlice) Less(i, j int) bool { return userSlice[i].Id < userSlice[j].Id }
func (userSlice UserSlice) Swap(i, j int) { userSlice[i], userSlice[j] = userSlice[j], userSlice[i] }
|
调用排序方法
1 2 3 4
| var users = UserSlice{User{2}, User{1}, User{3}}
sort.Sort(users)
|
完成
参考文献
哔哩哔哩——尚硅谷