github.com/pbberlin/tools@v0.0.0-20160910141205-7aa5421c2169/os/fsi/dsfs/41_file_impl_fileinfo_sort.go (about)

     1  package dsfs
     2  
     3  import "os"
     4  
     5  // byName implements sort.Interface.
     6  type FileInfoByName []os.FileInfo
     7  
     8  func (f FileInfoByName) Len() int           { return len(f) }
     9  func (f FileInfoByName) Less(i, j int) bool { return f[i].Name() < f[j].Name() }
    10  func (f FileInfoByName) Swap(i, j int)      { f[i], f[j] = f[j], f[i] }
    11  
    12  type DsFileByName []DsFile
    13  
    14  func (f DsFileByName) Len() int           { return len(f) }
    15  func (f DsFileByName) Less(i, j int) bool { return f[i].Name() < f[j].Name() }
    16  func (f DsFileByName) Swap(i, j int)      { f[i], f[j] = f[j], f[i] }
    17  
    18  //
    19  //
    20  type FileInfoByDateAsc []os.FileInfo
    21  
    22  func (f FileInfoByDateAsc) Len() int           { return len(f) }
    23  func (f FileInfoByDateAsc) Less(i, j int) bool { return f[i].ModTime().Before(f[j].ModTime()) }
    24  func (f FileInfoByDateAsc) Swap(i, j int)      { f[i], f[j] = f[j], f[i] }
    25  
    26  type DsFileByDateAsc []DsFile
    27  
    28  func (f DsFileByDateAsc) Len() int           { return len(f) }
    29  func (f DsFileByDateAsc) Less(i, j int) bool { return f[i].ModTime().Before(f[j].ModTime()) }
    30  func (f DsFileByDateAsc) Swap(i, j int)      { f[i], f[j] = f[j], f[i] }
    31  
    32  //
    33  //
    34  type FileInfoByDateDesc []os.FileInfo
    35  
    36  func (f FileInfoByDateDesc) Len() int           { return len(f) }
    37  func (f FileInfoByDateDesc) Less(i, j int) bool { return f[i].ModTime().After(f[j].ModTime()) }
    38  func (f FileInfoByDateDesc) Swap(i, j int)      { f[i], f[j] = f[j], f[i] }
    39  
    40  type DsFileByDateDesc []DsFile
    41  
    42  func (f DsFileByDateDesc) Len() int           { return len(f) }
    43  func (f DsFileByDateDesc) Less(i, j int) bool { return f[i].ModTime().After(f[j].ModTime()) }
    44  func (f DsFileByDateDesc) Swap(i, j int)      { f[i], f[j] = f[j], f[i] }