go里有sort的排序的包,可以直接使用,也可以使用func来自定义
下面给例子
//****************************************************/
//Copyright(c) 2015 Tencent, all rights reserved
// File : sorting.go
// Author : ningzhong.zeng
// Revision : 2015-11-26 19:58:56
// Description :
//****************************************************/
import (
"fmt"
"sort"
)
// 自定义func排序
type ByLength []string
func (s ByLength) Len() int {
return len(s)
}
func (s ByLength) Swap(i, j int) {
s[i], s[j] = s[j], s[i]
}
func (s ByLength) Less(i, j int) bool {
return len(s[i]) < len(s[j])
}
func main() {
fmt.Println("Start Main func()")
strs := []string{"a", "d", "l", "p"}
sort.Strings(strs)
fmt.Println("strs", strs)
ints := []int{3, 6, 8, 5}
sort.Ints(ints)
fmt.Println("ints", ints)
// 根据func排序
fruits := []string{"pe", "ba", "ki"}
sort.Sort(ByLength(fruits))
fmt.Println("fruits", fruits)
}
// strs [a d l p]
// ints [3 5 6 8]
// fruits [pe ba ki]
有疑问加站长微信联系(非本文作者)