Как получить длину файла в Go? Я посмотрел golang.org/pkg/os/#File, но до сих пор не знаю. Кажется, нет способа получить длину файла, я что-то пропустил? Как получить длину файла в Go? Ответ 1 (*os.File).Stat() возвращает значение os.FileInfo, которое, в свою очередь, имеет метод Size(). Итак, учитывая файл f, код будет сродни fi, err := f.Stat() if err != nil { // Could not obtain stat, handle error } fmt.Printf("The file is %d bytes long", fi.Size()) Ответ 2 Немного более подробный ответ: file, err := os.Open( filepath ) if err != nil { log.Fatal(err) } fi, err := file.Stat() if err != nil { log.Fatal(err) } fmt.Println( fi.Size() ) Ответ 3 Если вы не хотите открывать файл, вы можете напрямую вызвать os.Stat. fi, e := os.Stat("/path/to/file"); if e != nil { return e } // get the size size := fi.Size()
Ответ 1 (*os.File).Stat() возвращает значение os.FileInfo, которое, в свою очередь, имеет метод Size(). Итак, учитывая файл f, код будет сродни fi, err := f.Stat() if err != nil { // Could not obtain stat, handle error } fmt.Printf("The file is %d bytes long", fi.Size())
Ответ 2 Немного более подробный ответ: file, err := os.Open( filepath ) if err != nil { log.Fatal(err) } fi, err := file.Stat() if err != nil { log.Fatal(err) } fmt.Println( fi.Size() )
Ответ 3 Если вы не хотите открывать файл, вы можете напрямую вызвать os.Stat. fi, e := os.Stat("/path/to/file"); if e != nil { return e } // get the size size := fi.Size()