GO语言为结构体排序
发布时间:2023-02-04 编辑:jiaochengji.com
教程集为您提供GO语言为结构体排序等资源,欢迎您收藏本站,我们将为您提供最新的GO语言为结构体排序资源
package main
import (
"fmt"
"io/ioutil"
"sort"
"time"
)
type info struct {
Name string
Time time.Time
}
type newlist []*info
func main() {
l, e := getFilelist("./")
if e != nil {
fmt.Println(e)
}
sort.Sort(newlist(l)) //调用标准库的sort.Sort必须要先实现Len(),Less(),Swap() 三个方法.
for _, v := range l {
fmt.Println("文件名:", v.Name, "修改时间:", v.Time.Unix())
}
}
func getFilelist(path string) ([]*info, error) {
l, err := ioutil.ReadDir(path)
if err != nil {
return []*info{}, err
}
var list []*info
for _, v := range l {
list = append(list, &info{v.Name(), v.ModTime()})
}
return list, nil
}
func (I newlist) Len() int {
return len(I)
}
func (I newlist) Less(i, j int) bool {
return I[i].Time.Unix() < I[j].Time.Unix()
}
func (I newlist) Swap(i, j int) {
I[i], I[j] = I[j], I[i]
}
到此这篇关于“GO语言为结构体排序”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
2018年最全Go语言教程零基础入门到进阶实战视频
Go语言发展历史、核心、特性及学习路线
从零开始学习GO语言-搭建Go语言开发环境-快速开发入门第一个小程序
龙芯平台构建Go语言环境指南
go run main.go 参数_Go语言入门:Hello world
[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及
Go 语言十年而立,Go2 蓄势待发
[View]我不喜欢“我不喜欢 Go 语言的十个理由”的十个理由
go 函数末尾缺少返回值_王垠:Go语言野心勃勃,实际情况又如何
第07章 Go语言接口(interface),Golang接口(interface)
[关闭]