我一直在osx上使用这个功能:
// Shortcut to get the path to the current executable
func ExecPath() string {
var here = os.Args[0]
if !strings.HasPrefix(here, "/") {
here, _ = exec.LookPath(os.Args[0])
if !strings.HasPrefix(here, "/") {
var wd, _ = os.Getwd()
here = path.Join(wd, here)
}
}
return here
}
...但它非常混乱,它根本无法在 Windows 上运行,当然也不能在 Windows 上的 git-bash 中运行。
有没有办法做这个跨平台?
注意。具体来说, args[0] 取决于二进制文件的调用方式;在某些情况下,它只是二进制文件本身,例如。“app”或“app.exe”;所以你不能只使用它。