<11> go sort排序

a11101171 · · 3160 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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]

有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:a11101171

查看原文:<11> go sort排序

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3160 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传