How to get detailed information about the file in Go, including the creation date, the last modified date?

files, err := ioutil.ReadDir("C:\\Windows\\System32") if err != nil { log.Fatal("error") } for _, file := range files { if file.IsDir() == false { fmt.Printf("%s --- %d\n", file.Name(), file.Size()) } } 
  • one
    package "os", type FileInfo - Boris Ustyantsev

1 answer 1

All that cross-platform, tells the type os.FileInfo . Then everything is already intolerable. Example on GNU / Linux OS:

 f, err := os.Open("foo.txt") if err != nil { log.Fatalf("open: %v", err) } defer f.Close() stat, err := f.Stat() if err != nil { log.Fatalf("stat: %v", err) } log.Printf("file %q: size: %d, mod. time: %q", stat.Name(), stat.Size(), stat.ModTime()) log.Printf("file sys: %T", stat.Sys()) sysstat := stat.Sys().(*syscall.Stat_t) log.Printf("file %q: access time: %d, mod. time: %d, change time: %d", stat.Name(), sysstat.Atim.Nano(), sysstat.Mtim.Nano(), sysstat.Ctim.Nano())