首页 > 其他分享 >go对数组对象排序

go对数组对象排序

时间:2022-11-19 15:36:17浏览次数:62  
标签:return string float64 数组 time go 排序 cpuList

1.根据时间对数组对象排序

package main import (     "fmt"     "time"     "github.com/ahmetb/go-linq/v3" ) type CustomTime time.Time
func (a CustomTime) CompareTo(c linq.Comparable) int {     aa := time.Time(a)     bb := time.Time(c.(CustomTime))     if aa.After(bb) {         return 1     } else if aa.Equal(bb) {         return 0     } else {         return -1     } }
type StudyTrainParams struct {     Loss string     Optimizer string     Epochs string     BatchSize string     OperationHours string     FileName string     FullPath string     Accuracy string     UserId int } //对时间进行排序 var orderedList []StudyTrainParams linq.From(res).OrderByDescending(func(i interface{}) interface{} { return common.CustomTime(i.(StudyTrainParams).CreatedAt) }).ToSlice(&orderedList)

2.根据float64类型的数据,对数组对象排序

type CpuList struct {     Username string `json:"username"`     Memory float64 `json:"memory"` } // RandomFloat64 Random 根据区间产生随机数 Float64 func RandomFloat64(min, max float64,send int) float64 {     rand.Seed(int64(send+time.Now().Day()))     return min + rand.Float64() * (max - min) } var cpuList []CpuList for i := 0; i < 10; i++ {     tempcpu:=CpuList{         Username:value.Name,         Memory:RandomFloat64(100,1000,55555),     }     cpuList= append(cpuList, tempcpu) }
sort.Slice(cpuList, func(i, j int) bool { return cpuList[i].Memory > cpuList[j].Memory })

3. 对纯float类型的数组做排序

var cpuList []string{1.11,1.25,0.12,3.65,1.15}
sort.Sort(sort.Reverse(sort.Float64Slice(cpuList)))  //对float64数据进行从大到小排序

 

标签:return,string,float64,数组,time,go,排序,cpuList
From: https://www.cnblogs.com/lxz123/p/16906207.html

相关文章

  • Django项目搭建
    新建项目django-adminstartprojectMyProject进入MyProject根目录后,新建app:MyApppythonmanage.pystartappMyApp初始化-生成sqlite数据库表pythonmanage.......
  • (9数据处理)编程输入整数m、n,创建一个m行n列的随机数组并显示
    样例输入23样例输出[[0.543404940.278369390.42451759][0.844776130.004718860.12156912]] 说明运行结果中随机数数值不考虑,只需保证生成随机数的个数......
  • (9数据处理)编程创建一个长度为5,元素为[0,10]随机整数的一维数组,输入整数n,显示该数组除
    样例输入2 样例输出[13313][01100]参考代码#coding=gbkimportnumpyasnpimportrandom"""【"""n=int(input())list01=[random.randint(0,10)......
  • django中间件
    五个方法:中间件可以定义五个方法,分别是:(主要的是process_request和process_response)process_request(self,request)process_response(self,request,response)p......
  • django基础介绍使用
    Web开发介绍:目前Web开发属于Browser/Server模式,简称BS架构,开发语言有(Python、PHP、Java...)。基于Python的Web工作原理如下:框架介绍:什么是框架?软件框架......
  • Java常用排序方法
    Java排序方法冒泡排序快速排序选择排序插入排序希尔排序归并排序堆排序【选择类排序】基数排序【桶】总结冒泡排序相邻记录,反序则交换,if(a[j]>a[j+1])冒泡......
  • django-serializer报错格式整理
    defis_valid(self,raise_exception=False):asserthasattr(self,"initial_data"),("Cannotcall`.is_valid()`asno`data=`keywordargume......
  • [排序算法] 2路插入排序 (C++)
    前言本文章是建立在插入排序的基础上写的,如果还有不懂插入排序的童鞋先停下脚步,可以先看看这里~❤❤❤直接/折半插入排序2路插入排序解释在插入排序中,当待插入......
  • 算法-2 选择排序、冒泡排序、插入排序
    一选择排序选择排序的时间复杂度O(n2),额外空间复杂度O(1)publicstaticvoidSelectionSort(int[]arr){if(arr==null||arr.Length<2){ret......
  • Rust cargo镜像加速
    推荐使用科大的注册服务来提升拉取依赖的速度,地址:https://mirrors.ustc.edu.cn/help/crates.io-index.html1.部分依赖镜像支持【也就是添加一个镜像地址,在拉取依赖的......