Golang编译步骤详解
编译前需先安装Golang编译器。可从Golang官网下载对应操作系统的安装包(如Windows的.msi、Linux的.deb/rpm),或通过包管理器安装(如Ubuntu使用sudo apt install golang-go)。安装完成后,通过go version命令验证安装是否成功,若输出版本号(如go version go1.21.0 linux/amd64)则表示安装完成。
使用文本编辑器(如VS Code、Nano)创建.go后缀的源文件(如main.go),并编写符合Go语法的代码。示例代码如下:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
注意:若包名为main,则文件必须包含main()函数(程序入口);若包名为其他名称(如utils),则文件为工具包,无法直接编译为可执行文件。
在源文件所在目录下,使用go build命令编译:
go build main.go(生成与文件名同名的可执行文件,如main(Linux/macOS)或main.exe(Windows))。.go文件),直接运行go build(自动编译目录下所有文件)。-o参数指定名称,如go build -o myapp main.go(生成myapp可执行文件)。./可执行文件名(如./main、./myapp),程序将执行并输出结果(如Hello, World!\n)。cd命令进入目标目录,再执行上述命令。使用go clean命令删除当前目录下的编译临时文件(如*.exe、*.out)和缓存文件(如go-build目录),保持项目目录整洁。
若需在当前系统(如Windows)编译出其他系统(如Linux)的可执行文件,需设置环境变量并使用go build:
GOOS(目标操作系统)和GOARCH(目标架构)指定目标平台,如:
set GOOS=linux set GOARCH=amd64(或直接GOOS=linux GOARCH=amd64)。GOOS=windows GOARCH=amd64。CGO_ENABLED=0(如CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build)。go build -o linux_app main.go(生成linux_app,可在Linux系统运行)。-v:显示编译的包名(如go build -v main.go)。-a:强制重新编译所有包(忽略缓存,适用于依赖更新后)。-race:开启竞态检测(检测并发访问冲突,如go build -race main.go)。-ldflags:设置链接器参数(如压缩符号表和调试信息,go build -ldflags="-s -w" main.go可减小可执行文件体积)。