分享
<11> go sort排序
a11101171 · · 3678 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
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]有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信3678 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
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]