包括go run时候的临时文件绝对路径
或者正常编译后执行的绝对路径
//获取程序执行目录
func GetRunPath() (string, error) {
path, err := filepath.Abs(filepath.Dir(os.Args[0]))
return path, err
}
//获取程序执行目录
func GetRunPath2() string {
file, _ := exec.LookPath(os.Args[0])
path, _ := filepath.Abs(file)
index := strings.LastIndex(path, string(os.PathSeparator))
ret := path[:index]
return ret
}
返回的结果是这样的