包括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 }
返回的结果是这样的