Go
发布时间:2022-04-09 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Golang语言社区--结构体数据排序,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
原文地址:http://www.golang.ltd/forum.PHP?mod=viewthread&tid=2816&extra=page%3D1
作者:彬哥
结构体,数据排序
- package main
-
- import (
- "fmt"
- "sort"
- "strconv"
- )
- var testmap map[@R_616_10495@ng]Person
- type Person struct {
- Name @R_616_10495@ng
- Ageint
- Sex@R_616_10495@ng
- }
- type ByAge []Person
- func (a ByAgE) Len() int { return len(a) }
- func (a ByAgE) Swap(i,j int) { a[i],a[j] = a[j],a[i] }
-
- func (a ByAgE) Less(i,j int) bool { return a[i].Age > a[j].Age } // 从大到小排序
- func init() {
- testmap = make(map[@R_616_10495@ng]Person)
- var testmap1 Person
- testmap1.Name = "John"
- testmap1.Age = 31
- testmap1.Sex = "1"
- testmap["3"] = testmap1
- testmap1.Name = "Bob1"
- testmap["0"] = testmap1
- testmap1.Name = "Bob"
- testmap["2"] = testmap1
- testmap1.Name = "John1"
- testmap["4"] = testmap1
- testmap1.Name = "John2"
- testmap["5"] = testmap1
- testmap1.Name = "John3"
- testmap["6"] = testmap1
- }
- func main() {
- fmt.Println(len(testmap))
- people := make([]Person,len(testmap))
- // 1 结构提取值获取数据 append
- for key,second := range testmap {
- ikey,_ := strconv.Atoi(key)
- fmt.Println(peoplE) // 从0开始的
- people = append(people,people[ikey])
- people[ikey] = second
- }
- // 排序
- sort.sort(ByAge(peoplE))
- fmt.Println(peoplE)
- // 获取数据值
- decimal-leading-zero; font-family:Monaco,second := range people {
- fmt.Println(key) // 从0开始的
- fmt.Println(second.Name)
-
- }
复制代码
大佬总结
以上是大佬教程为你收集整理的Golang语言社区--结构体数据排序全部内容,希望文章能够帮你解决Golang语言社区--结构体数据排序所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。