编译视频直播点播平台EasyDSS数据排序使用Go 语言 slice 类型排序的实现介绍

TSINGSEE青犀视频研发团队在EasyDSS的开发过程中,需要将后台的数据排序后返回给前端显示,因此需要对从数据库中取出的数据进行排序。在 Go 语言中大量使用的都是 slice 类型的数据,因此编写对应的数据。

EasyDSS架构绿.png

其实golang的排序思路和C、C++ 有些差别。C默认是对数组进行排序, C++是对一个序列进行排序,Go则更宽泛一些,待排序的可以是任何对象, 虽然很多情况下是一个slice(分片, 类似于数组),或是包含slice的一个对象。

对于 slice 的基本排序方式如下:

func main() {
   //定义一个数字 slice
    sortList := []int{2, 13, 16, 17, 2, 5}


   //排序,实现比较函数即可
   sort.Slice(sortList, func(i, j int) bool {
      return sortList[i] < sortList[j]
   })
   
   fmt.Printf("sort list:%v", sortList)
}

其上代码输出为sort list :[2 2 5 13 16 17]
其中 func(i, j int) bool{} 为实现的比较函数,其中i 和 j 为 slice 的索引。如果 slice 中存储的是一个对象,在此函数中实现对象的比较大小方法即可。

DSS1.png

EasyDSS视频直播点播平台内涉及到很多关于golong语言的知识,我们也是在一边学习中一边进步。当然除了EasyDSS视频平台外,TSINGSEE青犀视频还有其他可靠稳定的视频流媒体平台,比如支持RTSP协议的EasyNVR、支持国标GB28181协议的EasyGBS以及能够对接私有协议的EasyCVR平台。如果大家还想了解更多,欢迎联系我们,视频智能分析平台皆可获取测试账号直接测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值