windows系统下读取文件创建时间
func GetFileCreateTime(path string) int64{
osType := runtime.GOOS
fileInfo, _ := os.Stat(path)
if osType == "windows" {
wFileSys := fileInfo.Sys().(*syscall.Win32FileAttributeData)
tNanSeconds := wFileSys.CreationTime.Nanoseconds() /// 返回的是纳秒
tSec := tNanSeconds/1e9 ///秒
return tSec;
}
return time.Now().Unix()
}
linux系统下读取文件创建时间
func GetFileCreateTime(path string) int64{
osType := runtime.GOOS
fileInfo, _ := os.Stat(path)
if osType == "linux" {
stat_t := fileInfo.Sys().(*syscall.Stat_t)
tCreate := int64(stat_t.Ctim.Sec)
return tCreate
}
return time.Now().Unix()
}
golang build 编译规则
注意点一、 go build 的时候会选择性地编译以系统名结尾的文件(linux、darwin、windows、freebsd)。例如Linux(Unix)系统下编译只会选择array_linux.go文件,其它系统命名后缀文件全部忽略。
注意点二、 在xxx.go文件的文件头上添加 // + build !windows (tags),可以选择在windows系统下面不编译 // +build !windows package main
|