首页 > 编程语言 > 详细

go 排序

时间:2021-07-16 10:39:47      阅读:19      评论:0      收藏:0      [点我收藏+]

多参数排序

技术分享图片
package code

import "sort"

type CanRow struct {
    CANChannel string `json:"can_channel"`
    CANBUSID   string `json:"canbusid"`
    SignalName string `json:"signal_name"`
}

//升序
//CANChannel升序
func SortByCANChannel(u []CanRow) {
    sort.Slice(u, func(i, j int) bool { // asc
        return u[i].CANChannel < u[j].CANChannel
    })
}

//多参数排序
func SortByMany(u []CanRow) {
    sort.Slice(u, func(i, j int) bool { // asc
        if u[i].CANChannel == u[j].CANChannel {
            if u[i].CANBUSID == u[j].CANBUSID {
                return u[i].SignalName < u[j].SignalName
            }
            return u[i].CANBUSID < u[j].CANBUSID
        }
        return u[i].CANChannel < u[j].CANChannel
    })
}
View Code

 

go 排序

原文:https://www.cnblogs.com/huay/p/15018714.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!