golang编译器在ubuntu上如何用

作者:袖梨 2026-08-17

1. 安装Golang编译器

golang编译器在ubuntu上怎么用

  1. 推荐方式:使用官方二进制包(稳定且易管理)更新系统包列表并安装依赖: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则表示成功。

  2. 备选方式:使用Ubuntu APT仓库(简单但版本可能滞后)执行以下命令快速安装:

    sudo apt install golang-go

    安装完成后,同样通过go version验证。

2. 编写第一个Go程序

  1. 创建项目目录:建议遵循Go工作空间结构,创建~/go/src/hello目录:mkdir -p ~/go/src/hello
  2. 编写代码:进入目录并创建main.go文件,内容如下:
    package mainimport "fmt"func main() {fmt.Println("Hello, Ubuntu & Golang!")}
  3. 快速运行:直接使用go run命令无需编译即可执行:go run main.go,终端将输出Hello, Ubuntu & Golang!

3. 编译Go程序

  1. 本地编译(生成当前系统可执行文件)在main.go所在目录运行go build,默认生成名为main的可执行文件(Windows下为.exe):go build。指定输出文件名(如hello):go build -o hello。运行编译后的程序:./hello,输出与go run一致。

  2. 交叉编译(生成其他平台可执行文件,如Linux服务器)若需为Linux 64位系统编译(即使当前在Ubuntu上),需设置环境变量并指定目标平台:

    export GOOS=linux# 目标操作系统:linuxexport GOARCH=amd64# 目标架构:64位go build -o hello-linux# 生成名为hello-linux的可执行文件

    生成的hello-linux文件可在Linux服务器上直接运行(无需安装Go环境)。

4. 优化编译效率

  1. 启用编译缓存:Go默认开启编译缓存(存储已编译的包),可通过-buildcache=true显式启用(默认值),避免重复编译。
  2. 并行编译:使用-p参数指定并行编译的goroutine数量(如-p 4表示用4个核心),加快编译速度:go build -p 4
  3. 精简二进制文件:使用-ldflags="-s -w"去除调试信息和符号表,减小文件体积(通常可减少30%~50%):go build -ldflags="-s -w" -o hello-small
  4. 强制重新编译:使用-a参数强制重新编译所有包(忽略缓存),适用于依赖更新后的场景:go build -a

5. 常见问题解决

  1. 权限问题:若编译时提示“Permission denied”,需为输出文件添加可执行权限:chmod +x hello,或直接用sudo(不推荐,除非必要)。
  2. 依赖下载慢:设置Go模块代 理(如国内七牛云代 理),加快依赖下载速度:go env -w GOPROXY=https://goproxy.cn,direct
  3. 交叉编译失败:确保关闭CGO(CGO_ENABLED=0),因为CGO依赖C库,跨平台时可能不兼容:CGO_ENABLED=0 GOOS=linux go build

相关文章

精彩推荐