ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

go 接口 实现sort排序接口 进行自定义排序

2022-08-18 23:05:25  阅读:175  来源: 互联网

标签:sort stus StudentArray 自定义 rand int fmt 接口 排序


package main
import ( "fmt" "math/rand" "sort" )
//学生结构体 type Student struct { Name string Id string Age int }
type StudentArray []Student
// 实现sort 接口 Len方法返回集合中的元素个数 //以下三个方法 实现了sort接口的 三个方法,所以可以直接调用sort接口进行排序 func (p StudentArray) Len() int {   return len(p) } //比较大小
func (p StudentArray) Less(i, j int) bool {   return p[i].Name > p[j].Name }

//交换元素

func (p StudentArray) Swap(i, j int) {   p[i], p[j] = p[j], p[i] }
func main() {   var stus StudentArray   for i := 0; i < 10; i++ {     stu := Student{       Name: fmt.Sprintf("stu%d", rand.Intn(100)),       Id: fmt.Sprintf("110%d", rand.Int()),       Age: rand.Intn(100),     }     stus = append(stus, stu)   }
  for _, v := range stus {     fmt.Println(v)   }
  sort.Sort(stus)
  for _, v := range stus {     fmt.Println(v)   } }

标签:sort,stus,StudentArray,自定义,rand,int,fmt,接口,排序
来源: https://www.cnblogs.com/chenweihao/p/16600432.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有