在Ubuntu上安装Golang编译器可通过官方二进制包或APT仓库进行。配置环境变量后,使用`gorun`运行程序,`gobuild`编译。支持交叉编译,可通过设置`GOOS`和`GOARCH`生成其他平台可执行文件。优化编译可用缓存、并行编译及精简二进制文件。常见问题包括权限、依赖下载慢及交叉编译需关闭CGO。
先从安装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
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
使配置生效:source ~/.bashrc。验证安装:运行 go version,如果输出类似 go version go1.20.5 linux/amd64,那就表示成功了。
另一种方式是使用Ubuntu APT仓库,简单但版本可能滞后。执行以下命令快速安装:sudo apt install golang-go。安装完成后,同样通过 go version 验证。
接下来编写第一个Go程序。建议遵循Go工作空间结构,创建 ~/go/src/hello 目录:mkdir -p ~/go/src/hello。进入目录并创建 main.go 文件,内容如下:
package main
import "fmt"
func main() {
fmt.Println("Hello, Ubuntu & Golang!")
}
快速运行:直接使用 go run 命令,无需编译即可执行:go run main.go,终端将输出 Hello, Ubuntu & Golang!。
本地编译(生成当前系统可执行文件)很简单。在 main.go 所在目录运行 go build,默认生成名为 main 的可执行文件(Windows下为 .exe):go build。指定输出文件名(如 hello):go build -o hello。运行编译后的程序:./hello,输出与 go run 一致。
交叉编译(生成其他平台可执行文件,如Linux服务器)是Go的一大亮点。若需为Linux 64位系统编译(即使当前在Ubuntu上),需设置环境变量并指定目标平台:
export GOOS=linux
export GOARCH=amd64
go build -o hello-linux
生成的 hello-linux 文件可在Linux服务器上直接运行(无需安装Go环境)。
启用编译缓存: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。
权限问题:如果编译时提示“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。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述