打开终端,执行以下命令更新系统包列表并安装Golang:
sudo apt update
sudo apt install golang-go
安装完成后,通过go version命令验证是否安装成功(输出类似go version go1.20.5 linux/amd64即为成功)。
若需使用最新稳定版Golang,可通过以下步骤手动安装:
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。若需要同时管理多个Golang版本,可使用gvm(Go Version Manager):
sudo apt install -y build-essential gcc libc6-dev make git wget tar
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm
gvm install go1.20.5
gvm use go1.20.5
go version。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!
若需为非Linux平台(如Windows 64位)编译,需设置GOOS(目标操作系统)和GOARCH(目标架构)环境变量:
GOOS=windows GOARCH=amd64 go build -o hello.exe # 生成Windows可执行文件
常用组合:
GOOS=linux GOARCH=amd64GOOS=darwin GOARCH=arm64GOOS=windows GOARCH=386Golang默认开启编译缓存(存储编译后的包),可通过-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 1.11开始,推荐使用Go Modules管理项目依赖:
go mod init hello # 创建go.mod文件
go get -u github.com/gin-gonic/gin # 示例:添加Gin框架依赖
go build # 自动处理依赖
若编译或运行时提示“Permission denied”,需为可执行文件添加执行权限:
chmod +x hello
或使用sudo(不推荐,除非必要)。
若交叉编译后无法在目标平台运行,需检查GOOS和GOARCH设置是否正确(如Windows需设置为GOOS=windows),并确保未启用CGO(CGO_ENABLED=0,默认值)。
若go get下载依赖缓慢,可设置国内代理(如七牛云):
export GOPROXY=https://goproxy.cn,direct # 国内代理
添加到~/.bashrc中使生效。