解析 GOPATH 值(Go 1.8+)
Resolve GOPATH value (Go 1.8+)
在 Go 1.8+ 中,GOPATH
环境变量是可选的。未设置时,GOPATH
默认为 $HOME/go
。在一些标准库包中是否有一个变量或函数会显示 GOPATH
的最终值(我希望有类似 runtime.GOROOT()
的东西,即使在没有 [=10= 的情况下推断出来) ] 环境变量设置好了吗?
GOPATH
在技术上不存在于运行时中,它仅由构建工具使用。 GOARCH
、GOOS
和 GOROOT
是唯一在编译时记录的变量,但它们仍然不会影响运行时的执行。
您可以在环境中检查 GOPATH
,如果不存在则回退到 $HOME/go
。但是,这仍然不能保证您获得用于构建二进制文件的 GOPATH
,因为该应用程序可能不是由同一用户构建的,甚至可能不是在同一系统上构建的。
在 Go 1.8+ 中,GOPATH
环境变量是可选的。未设置时,GOPATH
默认为 $HOME/go
。在一些标准库包中是否有一个变量或函数会显示 GOPATH
的最终值(我希望有类似 runtime.GOROOT()
的东西,即使在没有 [=10= 的情况下推断出来) ] 环境变量设置好了吗?
GOPATH
在技术上不存在于运行时中,它仅由构建工具使用。 GOARCH
、GOOS
和 GOROOT
是唯一在编译时记录的变量,但它们仍然不会影响运行时的执行。
您可以在环境中检查 GOPATH
,如果不存在则回退到 $HOME/go
。但是,这仍然不能保证您获得用于构建二进制文件的 GOPATH
,因为该应用程序可能不是由同一用户构建的,甚至可能不是在同一系统上构建的。