标签:sort stus StudentArray 自定义 rand int fmt 接口 排序
package mainimport ( "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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。