首页 >后端开发 >Golang >如何在没有代码库的情况下识别可执行文件的 GOOS 和 GOARCH 值?

如何在没有代码库的情况下识别可执行文件的 GOOS 和 GOARCH 值?

Patricia Arquette
Patricia Arquette原创
2024-10-31 15:39:01394浏览

How to Identify the GOOS and GOARCH Values of an Executable Without Its Codebase?

确定可执行文件的 GOOS 和 GOARCH 值

可以确定 GOOS 和 GOARCH 的值、操作系统和处理器架构分别用于在不拥有代码库本身的情况下构建可执行文件。这些信息可以通过runtime包中的常量获得。

runtime.GOOS和runtime.GOARCH

runtime包提供了两个常量,runtime.GOOS和runtime.GOARCH ,它显示编译时相应环境变量的值。尽管不影响其运行时行为,但可以在整个可执行文件的执行过程中访问这些常量。

示例实现

以下简单的 Go 程序说明了如何检索运行时操作系统和架构信息:

<code class="go">package main

import (
    "fmt"
    "runtime"
)

func main() {
    fmt.Println("OS:", runtime.GOOS)
    fmt.Println("Architecture:", runtime.GOARCH)
}</code>

使用指定的 GOOS 和 GOARCH 值(例如 GOOS=windows GOARCH=amd64)编译并运行此程序会打印预期输出:

OS: windows
Architecture: amd64

注意

在 Go 1.10 之前,runtime.GOROOT() 将返回编译时记录的 GOROOT 值。但是,在 Go 1.10 及更高版本中,它会检查 GOROOT 环境变量并使用其值(如果已设置)。

以上是如何在没有代码库的情况下识别可执行文件的 GOOS 和 GOARCH 值?的详细内容。更多信息请关注PHP中文网其他相关文章!

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