gitee.com/quant1x/gox@v1.21.2/api/filestat_darwin.go (about)

     1  //go:build darwin
     2  
     3  package api
     4  
     5  import (
     6  	"os"
     7  	"syscall"
     8  )
     9  
    10  // GetFileStat 获取文件状态(创建,修改和访问时间)
    11  func GetFileStat(name string) (*FileStat, error) {
    12  	finfo, err := os.Lstat(name)
    13  	if err != nil {
    14  		return nil, err
    15  	}
    16  	// mac环境下代码如下
    17  	stat, ok := finfo.Sys().(*syscall.Stat_t)
    18  	if !ok || stat == nil {
    19  		return nil, ErrInvalidFileStat
    20  	}
    21  	return &FileStat{
    22  		CreationTime:   timespecToTime(stat.Ctimespec),
    23  		LastAccessTime: timespecToTime(stat.Atimespec),
    24  		LastWriteTime:  timespecToTime(stat.Mtimespec),
    25  	}, nil
    26  }