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,可通过以下步骤手动安装:
- 访问Golang官方下载页面获取最新Linux版本下载链接(如
go1.20.5.linux-amd64.tar.gz)。 - 使用
wget下载并解压到/usr/local目录:wget https://golang.org/dl/go1.20.5.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz - 配置环境变量:编辑
~/.bashrc(或~/.zshrc)文件,添加以下内容:export PATH=$PATH:/usr/local/go/bin export GOPATH=$HOME/go # 工作空间目录 export PATH=$PATH:$GOPATH/bin # 添加Go工具链路径 - 使配置生效:
source ~/.bashrc - 验证安装:
go version。
方法3:使用版本管理工具(如gvm,灵活切换版本)
若需要同时管理多个Golang版本,可使用gvm(Go Version Manager):
- 安装依赖:
sudo apt install -y build-essential gcc libc6-dev make git wget tar - 安装gvm:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) - 加载gvm环境:
source ~/.gvm/scripts/gvm - 安装指定版本Golang(如1.20.5):
gvm install go1.20.5 - 切换版本:
gvm use go1.20.5 - 验证:
go version。
2. 编译Golang程序
本地编译(生成Linux可执行文件)
- 创建项目目录并进入:
mkdir -p $GOPATH/src/hello cd $GOPATH/src/hello - 编写
main.go文件(示例代码):package main import "fmt" func main() { fmt.Println("Hello, Ubuntu Golang!") } - 编译程序:
go build -o hello # 生成名为"hello"的可执行文件 - 运行程序:
./hello # 输出:Hello, Ubuntu Golang!
交叉编译(生成其他平台可执行文件,如Windows)
若需为非Linux平台(如Windows 64位)编译,需设置GOOS(目标操作系统)和GOARCH(目标架构)环境变量:
GOOS=windows GOARCH=amd64 go build -o hello.exe # 生成Windows可执行文件
常用组合:
- Linux 64位:
GOOS=linux GOARCH=amd64 - macOS ARM64:
GOOS=darwin GOARCH=arm64 - Windows 32位:
GOOS=windows GOARCH=386
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管理项目依赖:
- 初始化模块(在项目目录下执行):
go mod init hello # 创建go.mod文件 - 添加依赖(自动下载并更新go.mod):
go get -u github.com/gin-gonic/gin # 示例:添加Gin框架依赖 - 编译项目:
go build # 自动处理依赖
4. 常见问题解决
权限问题
若编译或运行时提示“Permission denied”,需为可执行文件添加执行权限:
chmod +x hello
或使用sudo(不推荐,除非必要)。
交叉编译失败
若交叉编译后无法在目标平台运行,需检查GOOS和GOARCH设置是否正确(如Windows需设置为GOOS=windows),并确保未启用CGO(CGO_ENABLED=0,默认值)。
依赖下载慢
若go get下载依赖缓慢,可设置国内代理(如七牛云):
export GOPROXY=https://goproxy.cn,direct # 国内代理
添加到~/.bashrc中使生效。
以上就是关于“Golang编译器Ubuntu上怎么用”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm