如题,直接上代码
// 获取文件大小的接口
type Size interface {
Size() int64
}
// 获取文件信息的接口
type Stat interface {
Stat() (os.FileInfo, error)
}
// 文件大小
var size int64 = 0
if stat, ok := file.(Stat); ok {
fileInfo, err := stat.Stat()
if err != nil {
panic(err)
}
size = fileInfo.Size()
} else if sizer, ok := file.(Size); ok {
size = sizer.Size()
}