第一个 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