golang 如何使用多個排序參數(shù)對結構進行排序
在Golang中,如果要使用多個排序參數(shù)對結構進行排序,可以通過實現(xiàn)sort.Interface
接口來實現(xiàn)自定義排序。
sort.Interface
接口包含三個方法:
Len() int
:返回要排序的元素個數(shù)。Less(i, j int) bool
:用于比較第i和第j個元素,返回是否滿足排序條件。Swap(i, j int)
:用于交換第i和第j個元素的位置。
以下是一個示例代碼,展示如何使用多個排序參數(shù)對結構進行排序:
在上面的例子中,我們自定義了一個BySalaryAge
類型,它實現(xiàn)了sort.Interface
接口中的三個方法。首先,按照Salary
進行降序排序;若Salary
相同,則按照Age
進行升序排序。運行以上代碼,你將看到排序后的輸出結果。
請注意,如果需要進行更復雜的排序,你可以根據(jù)需求在Less
方法中添加更多的排序條件。
原文連接:https://duoke360.com/post/5855