在 Linux 中,使用 Golang 实现跨平台编译非常简单。Golang 提供了一个名为 GOOS
和 GOARCH
的环境变量,分别用于设置目标操作系统和目标架构。以下是一些常见的目标操作系统和架构:
GOOS
: darwin (macOS), freebsd, linux, windows 等GOARCH
: amd64, arm, arm64, 386, ppc64le 等以下是一个简单的示例,演示如何在 Linux 中为 Windows 和 macOS 编译一个 Go 程序:
hello.go
:package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
打开终端,进入到包含 hello.go
文件的目录。
为 Windows 编译程序:
GOOS=windows GOARCH=amd64 go build -o hello-windows.exe hello.go
这将在当前目录下生成一个名为 hello-windows.exe
的可执行文件。
GOOS=darwin GOARCH=amd64 go build -o hello-macos hello.go
这将在当前目录下生成一个名为 hello-macos
的可执行文件。
现在,你已经成功地为 Windows 和 macOS 编译了 Go 程序。你可以将这些可执行文件复制到相应的操作系统上运行。同样的方法也适用于其他操作系统和架构。只需更改 GOOS
和 GOARCH
的值即可。