ubuntu

Golang编译器Ubuntu上怎么用

小樊
49
2025-10-04 01:49:32
栏目: 编程语言

1. 安装Golang编译器

方法1:通过Ubuntu APT仓库安装(简单快捷)

打开终端,执行以下命令更新系统包列表并安装Golang:

sudo apt update
sudo apt install golang-go

安装完成后,通过go version命令验证是否安装成功(输出类似go version go1.20.5 linux/amd64即为成功)。

方法2:手动下载官方二进制包安装(推荐最新版本)

若需使用最新稳定版Golang,可通过以下步骤手动安装:

方法3:使用版本管理工具(如gvm,灵活切换版本)

若需要同时管理多个Golang版本,可使用gvm(Go Version Manager):

2. 编译Golang程序

本地编译(生成Linux可执行文件)

交叉编译(生成其他平台可执行文件,如Windows)

若需为非Linux平台(如Windows 64位)编译,需设置GOOS(目标操作系统)和GOARCH(目标架构)环境变量:

GOOS=windows GOARCH=amd64 go build -o hello.exe  # 生成Windows可执行文件

常用组合:

3. 常用优化技巧

启用编译缓存

Golang默认开启编译缓存(存储编译后的包),可通过-buildcache=true显式启用(默认值),避免重复编译未修改的包。

并行编译

通过-p参数设置并行编译的goroutine数量(默认等于CPU核心数),加速编译过程:

go build -p 4 -o hello  # 使用4个goroutine并行编译

精简二进制文件

使用-ldflags参数移除调试信息和符号表,减小可执行文件体积:

go build -ldflags="-s -w" -o hello  # -s: 移除符号表; -w: 移除DWARF调试信息

编译后文件大小可减少约30%~50%。

使用Go Modules(依赖管理)

从Go 1.11开始,推荐使用Go Modules管理项目依赖:

4. 常见问题解决

权限问题

若编译或运行时提示“Permission denied”,需为可执行文件添加执行权限:

chmod +x hello

或使用sudo(不推荐,除非必要)。

交叉编译失败

若交叉编译后无法在目标平台运行,需检查GOOSGOARCH设置是否正确(如Windows需设置为GOOS=windows),并确保未启用CGO(CGO_ENABLED=0,默认值)。

依赖下载慢

go get下载依赖缓慢,可设置国内代理(如七牛云):

export GOPROXY=https://goproxy.cn,direct  # 国内代理

添加到~/.bashrc中使生效。

0
看了该问题的人还看了