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


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

    其实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 中存储的是一个对象,在此函数中实现对象的比较大小方法即可。

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

  • 相关阅读:
    AD中各层的说明
    Altium designer的PCB设计规则
    python 的基础 学习 第三天 编码的初始
    python 的基础 学习 第三
    python的基础初始第二天
    python 的基础 学习 第一天
    Liunx ls命令
    Liunx cd命令
    CentOS 7系统关闭yum自动下载更新
    【转】XenServer体系架构解析
  • 原文地址:https://www.cnblogs.com/easydss/p/14189767.html
Copyright © 2020-2023  润新知