zoukankan      html  css  js  c++  java
  • 对结构体进行排序

    package main
    
    import (
        "fmt"
        "math/rand"
        "sort"
    )
    
    type Hero struct {
        Name string
        Age  int
    }
    
    type HeroSlice []Hero
    
    func (hs HeroSlice) Len() int {
        return len(hs)
    }
    
    func (hs HeroSlice) Less(i, j int) bool {
        return hs[i].Age < hs[j].Age
    }
    
    func (hs HeroSlice) Swap(i, j int) {
        hs[i], hs[j] = hs[j], hs[i]
    
    }
    
    func main() {
        // var intSlice = []int{0, -1, 10, 87, -2}
        // 要求对intSlice切片进行排序
        // sort.Sort(intSlice)
    
        var heroes HeroSlice
        for i := 0; i < 10; i++ {
            hero := Hero{
                Name: fmt.Sprintf("村长-%d", rand.Intn(100)),
                Age:  rand.Intn(100),
            }
            heroes = append(heroes, hero)
        }
    
        // 调用sort.Sort
        sort.Sort(heroes)
    
        for _, v := range heroes {
            fmt.Println(v)
        }
    
    }
  • 相关阅读:
    学生管理系统简化版
    图形用户界面编程——事件驱动编程
    图形界面编程
    集合框架
    多线程编程
    反射
    相关类
    异常(4.13)
    接口
    锁!代码锁
  • 原文地址:https://www.cnblogs.com/zhangzihong/p/14924452.html
Copyright © 2011-2022 走看看