第一个 Go 程序
编写程序
创建 main.go 文件
# linux bash
touch main.go
# powershell
new-item main.go
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
go run
go run
像运行脚本一样执行。
在 learn 目录下执行:
go run main.go
Hello World!
执行结果就显示出来了
go build
go build
表示将源代码编译成可执行文件。
在 learn 目录下执行:
go build -o hello.exe
编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是 windows 平台会在当前目录下找到
hello.exe
可执行文件。可在终端直接执行该
hello.exe
文件
hello.exe
Hello World!
执行结果就显示出来了
跨平台编译
默认我们
go build
的可执行文件都是当前操作系统可执行的文件,如果我想在 windows 下编译一个 linux 下可执行文件,那需要怎么做呢?
只需要指定目标操作系统的平台和处理器架构即可:
SET CGO_ENABLED=0 // 禁用CGO
SET GOOS=linux // 目标平台是linux
SET GOARCH=amd64 // 目标处理器架构是amd64
使用了 cgo 的代码是不支持跨平台编译的
然后再执行
go build
命令,得到的就是能够在Linux平台运行的可执行文件了。
Mac 下编译 Linux 和 Windows 平台 64位 可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux 下编译 Mac 和 Windows 平台 64位 可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Windows下编译 Mac 平台 64位 可执行程序:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build
Last updated
Was this helpful?