检索 Go 中的可执行路径
在 Go 中,常见的是为多个平台编译程序并通过引用相对路径来执行它们或二进制文件的名称(如果它驻留在 PATH 环境变量中)。但是,在某些情况下,确定可执行文件的确切位置很有用。
为了实现这一点,Go 1.8 及更高版本提供了 os.Executable 函数,该函数返回正在运行的可执行文件的绝对路径。
让我们以名为“foo(.exe)”的程序为例。当使用不同的路径运行时,例如./foo、foo或../../subdir/subdir/foo,我们可以使用以下代码来确定可执行文件的位置:
import ( "os" "path" "log" ) func main() { ex, err := os.Executable() if err != nil { log.Fatal(err) } dir := path.Dir(ex) log.Print(dir) }
在此例如, os.Executable() 检索可执行文件的绝对路径,而 path.Dir(ex) 从该路径中提取目录。这允许我们访问程序所在的目录。
结果将打印到控制台,为我们提供有关可执行文件路径的所需信息。
以上是如何获取 Go 可执行文件的绝对路径?的详细内容。更多信息请关注PHP中文网其他相关文章!