最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
golang编译器在ubuntu上如何用
时间:2026-08-17 09:40:50 编辑:袖梨 来源:一聚教程网
1. 安装Golang编译器

推荐方式:使用官方二进制包(稳定且易管理)更新系统包列表并安装依赖:
sudo apt update。下载最新稳定版Go二进制包(以Go 1.20.5为例):wget https://golang.org/dl/go1.20.5.linux-amd64.tar.gz。解压至/usr/local目录:sudo tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz。配置环境变量:编辑~/.bashrc(或~/.zshrc),添加以下内容:export GOROOT=/usr/local/go# Go安装根目录export GOPATH=$HOME/go # 工作空间目录(存放项目代码)export PATH=$PATH:$GOROOT/bin:$GOPATH/bin# 将Go命令加入PATH使配置生效:
source ~/.bashrc。验证安装:运行go version,若输出类似go version go1.20.5 linux/amd64则表示成功。备选方式:使用Ubuntu APT仓库(简单但版本可能滞后)执行以下命令快速安装:
sudo apt install golang-go安装完成后,同样通过
go version验证。
2. 编写第一个Go程序
- 创建项目目录:建议遵循Go工作空间结构,创建
~/go/src/hello目录:mkdir -p ~/go/src/hello。 - 编写代码:进入目录并创建
main.go文件,内容如下:package mainimport "fmt"func main() {fmt.Println("Hello, Ubuntu & Golang!")} - 快速运行:直接使用
go run命令无需编译即可执行:go run main.go,终端将输出Hello, Ubuntu & Golang!。
3. 编译Go程序
本地编译(生成当前系统可执行文件)在
main.go所在目录运行go build,默认生成名为main的可执行文件(Windows下为.exe):go build。指定输出文件名(如hello):go build -o hello。运行编译后的程序:./hello,输出与go run一致。交叉编译(生成其他平台可执行文件,如Linux服务器)若需为Linux 64位系统编译(即使当前在Ubuntu上),需设置环境变量并指定目标平台:
export GOOS=linux# 目标操作系统:linuxexport GOARCH=amd64# 目标架构:64位go build -o hello-linux# 生成名为hello-linux的可执行文件生成的
hello-linux文件可在Linux服务器上直接运行(无需安装Go环境)。
4. 优化编译效率
- 启用编译缓存:Go默认开启编译缓存(存储已编译的包),可通过
-buildcache=true显式启用(默认值),避免重复编译。 - 并行编译:使用
-p参数指定并行编译的goroutine数量(如-p 4表示用4个核心),加快编译速度:go build -p 4。 - 精简二进制文件:使用
-ldflags="-s -w"去除调试信息和符号表,减小文件体积(通常可减少30%~50%):go build -ldflags="-s -w" -o hello-small。 - 强制重新编译:使用
-a参数强制重新编译所有包(忽略缓存),适用于依赖更新后的场景:go build -a。
5. 常见问题解决
- 权限问题:若编译时提示“Permission denied”,需为输出文件添加可执行权限:
chmod +x hello,或直接用sudo(不推荐,除非必要)。 - 依赖下载慢:设置Go模块代 理(如国内七牛云代 理),加快依赖下载速度:
go env -w GOPROXY=https://goproxy.cn,direct。 - 交叉编译失败:确保关闭CGO(
CGO_ENABLED=0),因为CGO依赖C库,跨平台时可能不兼容:CGO_ENABLED=0 GOOS=linux go build。
相关文章
- 60平方路由器华为能用吗(60平方能用华为路由器吗) 08-17
- 星痕共鸣官网入口在哪-官网入口地址分享 08-17
- 华为路由器能用几年(华为路由器寿命多久) 08-17
- huawei路由器ap隔离是什么东西(huawei路由器ap隔离指什么) 08-17
- 《三国志王道天下》拜师玩法详解-亲密度与属性继承机制 08-17
- ozon中国卖家入驻-2026ozon卖家最新入驻网站地址一览 08-17