go 使用sort对数组排序

  • Post author:
  • Post category:其他


抓住4月的尾巴更新一篇博客关于golang对slice的排序,golang对数组的排序没有像python那么方便,python直接使用

listObj.sort()

就可以完成对数组元素的排序,golang里面需要使用sort包,并且实现几个接口

Len

,

Swap

,

Less



sort 包排序demo

假如现在有个slice 叫做 ids 里面保存的数据类型是int32

import "sort"
var ids []int32
ids = append(ids, 20,50,5,100,88)

type Int32List []int32

func (s Int32List) Len() int           { return len(s) }
func (s Int32List) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }
func (s Int32List) Less(i, j int) bool { return s[i] < s[j] }

// 对ids 进行排序,这样排序是in place 形式的.
sort.Sort(Int32List(ids))



版权声明:本文为lucky404原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。