golang 如何使用多个排序参数对结构进行排序
在Golang中,如果要使用多个排序参数对结构进行排序,可以通过实现sort.Interface
接口来实现自定义排序。
sort.Interface
接口包含三个方法:
Len() int
:返回要排序的元素个数。Less(i, j int) bool
:用于比较第i和第j个元素,返回是否满足排序条件。Swap(i, j int)
:用于交换第i和第j个元素的位置。
以下是一个示例代码,展示如何使用多个排序参数对结构进行排序:
在上面的例子中,我们自定义了一个BySalaryAge
类型,它实现了sort.Interface
接口中的三个方法。首先,按照Salary
进行降序排序;若Salary
相同,则按照Age
进行升序排序。运行以上代码,你将看到排序后的输出结果。
请注意,如果需要进行更复杂的排序,你可以根据需求在Less
方法中添加更多的排序条件。
原文连接:https://duoke360.com/post/5855