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平台。如果大家还想了解更多,欢迎联系我们,视频智能分析平台皆可获取测试账号直接测试。

  • 相关阅读:
    "gcc: cannot specify -o when generating multiple output files"解决方案
    VSCode 回退到上一层
    Mac下的clion配置c/c++环境
    安装homebrew报错error: Not a valid ref: refs/remotes/origin/master 的解决方法
    正则多个空格替换成一个空格 多个相同的字符值保留一个
    python for 循环的速度
    下载器
    requests content 和text 编码格式
    博客园积分排名
    python QQ 发送邮件功能
  • 原文地址:https://www.cnblogs.com/easydss/p/14189767.html
Copyright © 2011-2022 走看看