zoukankan      html  css  js  c++  java
  • 编译视频直播点播平台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平台。如果大家还想了解更多,欢迎联系我们,视频智能分析平台皆可获取测试账号直接测试。

  • 相关阅读:
    MD5消息摘要算法的那些事
    关系数据库设计范式介绍(第一范式,第二范式,第三范式)
    C# string byte数组转换解析
    c#中FTP上传下载
    CString/string 区别及其转化
    伟大的神器 pjax 在thinkphp中的应用
    js jquery 判断当前窗口的激活点
    widget 传参数问题
    常见适用的函数
    thinkphp 分页函数
  • 原文地址:https://www.cnblogs.com/easydss/p/14189767.html
Copyright © 2011-2022 走看看