确定内置 Go 可执行文件的 GOOS 和 GOARCH 值
在 Go 中,GOOS 和 GOARCH 环境变量定义构建程序的目标操作系统和架构。此信息对于编译和执行 Go 可执行文件至关重要。
要检索已编译的 Go 可执行文件的这些值,您可以使用运行时包。如文档中所述:
GOARCH、GOOS 和 GOROOT 在编译时记录
runtime.GOOS 和 runtime.GOARCH 常量提供对这些值的访问。它们反映了编译可执行文件期间使用的确切设置。
为了说明这一点,请考虑以下简单的 Go 程序:
<code class="go">package main import "fmt" func main() { fmt.Println(runtime.GOOS) fmt.Println(runtime.GOARCH) }</code>
当您将此程序构建为可执行文件时,记录的GOOS 和 GOARCH 的值将保留在可执行文件中。运行可执行文件将输出编译期间使用的目标操作系统和体系结构。
例如,如果可执行文件是使用 GOOS=linux 和 GOARCH=amd64 构建的,则执行它将打印以下内容:
linux amd64
即使您随后修改了环境变量,可执行文件仍然会输出最初记录的值。
因此,通过检查runtime.GOOS和runtime.GOARCH常量,您可以确定目标操作为其编译给定 Go 可执行文件的系统和架构。
以上是如何从已编译的 Go 可执行文件中检索 GOOS 和 GOARCH 值?的详细内容。更多信息请关注PHP中文网其他相关文章!