在 Linux 下设置 Go(Golang)工作区,通常有两种方式:传统 GOPATH 模式(Go 1.10 之前常用)和 Go Modules 模式(Go 1.11+ 推荐,现在主流)。下面分别说明。
✅ 不需要 GOPATH,也不需要固定工作区目录
sudo apt remove golang-go # 如有旧版本
sudo apt install golang-go # 或官方二进制
或官方安装(推荐):
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
刷新:
source ~/.bashrc
验证:
go version
mkdir ~/projects/hello
cd ~/projects/hello
go mod init hello
目录结构:
hello/
├── go.mod
└── main.go
// main.go
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
运行:
go run main.go
✅ 这是当前官方推荐方式,最适合 Linux 开发
⚠️ 不推荐新项目使用,但老项目可能需要
mkdir -p ~/go
编辑 ~/.bashrc:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
刷新:
source ~/.bashrc
~/go/
├── src/ # 源码
├── pkg/ # 编译中间文件
└── bin/ # 可执行文件
mkdir -p ~/go/src/hello
cd ~/go/src/hello
hello.go:
package main
import "fmt"
func main() {
fmt.Println("Hello")
}
运行:
go run hello.go
| 方式 | 是否推荐 | 说明 |
|---|---|---|
| Go Modules | ✅ 强烈推荐 | 现代 Go 开发标准 |
| GOPATH | ❌ 不推荐 | 仅老项目兼容 |
一句话:
在 Linux 上直接用
go mod init创建项目即可,不需要特意设置 Go 工作区。
如果你告诉我 Go 版本 / 发行版(Ubuntu?CentOS?)/ 是否用于服务器或开发,我可以给你更精确的建议。