多参数排序
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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 }) }