GO语言为结构体排序
2015-07-16 08:32
696 查看
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] }
相关文章推荐
- fastjson处理接口时的一个问题
- Go语言将支持Android
- 注册表的组织结构
- SQLSERVER的非聚集索引结构深度理解
- 调整SQLServer2000运行中数据库结构
- C#基础语法:结构和类区别详解
- 深入c# 类和结构的区别总结详解
- c#结构和类的相关介绍
- C#中结构(struct)的部分初始化和完全初始化实例分析
- C#中实现Fluent Interface的三种方法
- C#中类与结构的区别实例分析
- C#枚举类型与结构类型实例解析
- javascript实现表现、结构、行为分离的选项卡效果!
- c#中的interface abstract与virtual介绍
- 领悟php接口中interface存在的意义
- 实用的js 焦点图切换效果 结构行为相分离
- Golang实现的聊天程序服务端和客户端代码分享
- Go语言入门教程之Arrays、Slices、Maps、Range操作简明总结
- GO语言异常处理机制panic和recover分析
- go语言执行windows下命令行的方法