首页 > 编程语言 > 详细

go 学习之接口实例(自定义类型排序)

时间:2020-12-15 10:38:07      阅读:31      评论:0      收藏:0      [点我收藏+]

按年龄排序

package main

import (
        "fmt"
        "sort"
)

type Person struct {
        name string
        age int
        score float64
}

type PersonSlice []Person

func (p PersonSlice) Len() int {
        return len(p)
}

func (p PersonSlice) Less(i, j int) bool {
        return p[i].age < p[j].age
}

func (p PersonSlice) Swap(i, j int) {
        p[i], p[j] = p[j], p[i]
}

func main() {
        p1 := Person{"caoxt", 29, 60.00}
        p2 := Person{"caoxt4", 40, 90.00}
        p3 := Person{"caoxt6", 23, 80.00}
        p4 := Person{"caoxt2", 24, 70.00}

        var persons PersonSlice
        persons = append(persons,p1,p2,p3,p4)
        sort.Sort(PersonSlice(persons))
        fmt.Println(persons)

}

  

 

go 学习之接口实例(自定义类型排序)

原文:https://www.cnblogs.com/Caoxt/p/14136927.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!