首页  >  文章  >  后端开发  >  如何从已编译的 Go 可执行文件中检索 GOOS 和 GOARCH 值?

如何从已编译的 Go 可执行文件中检索 GOOS 和 GOARCH 值?

Linda Hamilton
Linda Hamilton原创
2024-11-01 06:00:31428浏览

How Do You Retrieve GOOS and GOARCH Values from a Compiled Go Executable?

确定内置 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn