发布时间:2024-11-21 20:08:47
1. 编译为Windows平台的64位可执行文件:
GOOS=windows GOARCH=amd64 go build main.go
2. 编译为Linux平台的32位可执行文件:
GOOS=linux GOARCH=386 go build main.go
3. 编译为MacOS平台的64位可执行文件:
GOOS=darwin GOARCH=amd64 go build main.go
4. 编译为ARM平台的32位可执行文件:
GOOS=linux GOARCH=arm go build main.go
// +build windows
package main
func main() {
// Windows specific code
}
上述代码中的“+build windows”指令告诉Golang只在编译为Windows平台时才包含该代码。类似地,我们可以使用其他常见的操作系统指令来进行条件编译,如“+build linux”、“+build darwin”等。
此外,我们还可以使用GOOS和GOARCH的值进行条件判断,从而编写针对不同操作系统和架构的特定代码逻辑。
#!/bin/bash
export GOOS=windows
export GOARCH=amd64
go build main.go
export GOOS=linux
export GOARCH=amd64
go build main.go
export GOOS=darwin
export GOARCH=amd64
go build main.go
export GOOS=linux
export GOARCH=arm
go build main.go
上述脚本将按照给定的平台和架构依次执行编译命令,并生成对应的可执行文件。