golang-sort
简单使用sort

1 package main 2 3 import ( 4 "fmt" 5 "math/rand" 6 "sort" 7 "time" 8 ) 9 10 type KVal struct { 11 K int 12 Val interface{} //Arbitrary data 13 } 14 15 type KData []*KVal 16 17 func (v KData) Len() int { return len(v) } 18 func (v KData) Less(i, j int) bool { return v[i].K < v[j].K } 19 func (v KData) Swap(i, j int) { v[i], v[j] = v[j], v[i] } 20 21 const ( 22 NUM = 5 23 ) 24 25 func main() { 26 rand.Seed(time.Now().Unix()) 27 datas := make(KData, 0, NUM) 28 for i := 0; i < NUM; i++ { 29 datas = append(datas, genData(i)) 30 } 31 sort.Sort(datas) 32 for _, v := range datas { 33 fmt.Println(v) 34 } 35 } 36 37 func genData(k int) *KVal { 38 total := rand.Intn(10) + 1 39 kVak := &KVal{ 40 K: rand.Intn(9999), 41 Val: make([]int, 0, total), 42 } 43 val := make([]int, 0, total) 44 for total > 0 { 45 val = append(val, rand.Intn(1000)) 46 total-- 47 } 48 kVak.Val = val 49 return kVak 50 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现