Go 1.16+ 环境搭建只需三步:装 Go、设 GOPROXY 代理、写 main.go 并 go run;无需配置 GOPATH 或 PATH,模块模式默认启用,go install 不再依赖 GOPATH,代理为必选项。

直接上手就能跑,不用改 PATH、不用碰 GOROOT、不用手动管理 bin 目录——Go 1.16+ 默认启用 go mod 后,真正零负担的环境搭建,核心就三点:装 Go、设代理、写个 main.go 就行。
go install 不再需要 GOPATH
Go 1.11 起模块(go mod)就是默认行为,1.16+ 更是彻底弱化 GOPATH。你现在装完 Go,根本不用配置 GOPATH,也不用把项目放进 $GOPATH/src 里。
- 新建任意目录,比如
~/myapp,直接cd ~/myapp - 运行
go mod init myapp,生成go.mod—— 这一步就激活模块模式 - 后续所有
go get、go build都基于当前目录的go.mod,和GOPATH再无关系 -
go env GOPATH仍会输出路径,但它只用于缓存(GOMODCACHE)和go install的二进制存放,不影响日常开发
国内必须配 GOPROXY,否则 go get 卡死
不设代理时,go get 会直连 proxy.golang.org 和 GitHub,99% 情况下超时或 404。这不是网络问题,是 Go 模块协议强制走代理分发。
在 Go 中使用 google/wire 实现编译时依赖注入——wire.NewSet、wire.Build、wire.Bind(接口→实现)、wire.Struct、wire.Value、wire.Interface
- 执行:
go env -w GOPROXY=https://goproxy.cn,direct(推荐,稳定) - 或备选:
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct -
direct表示对私有仓库(如公司内网 Git)跳过代理,直连 - 验证:运行
go get github.com/go-sql-driver/mysql@v1.7.1,秒级完成即生效
go run main.go 是唯一需要记住的命令
初学阶段,你不需要知道 go build、go install、go test 怎么用。只要能跑通 go run,你就已经“在写 Go”了。
立即学习“go语言免费学习笔记(深入)”;
- 新建
main.go,内容就这四行:
package main
import "fmt"
func main() {
fmt.Println("Hello, Go")
}
go run main.go —— 输出即成功go run main.go,没有编译步骤,没有中间产物,没有 reloadCGO_ENABLED=0、-ldflags 这些参数,那是打包发布时才考虑的事最容易被忽略的是:Go 安装包自带 GOROOT,但你永远不该去动它;go mod 下项目根目录就是“作用域”,不存在“全局依赖”概念;而 GOPROXY 不是可选项,是必选项——没设代理的 go get 不是慢,是根本不会开始下载。

















