Skip to content

环境变量

bash
# 打印Go所有默认环境变量
go env

核心环境变量

GOROOT

  • 作用:指定 Go 语言的安装目录(即 Go 编译器、标准库等的存放路径)。
  • 默认值:根据操作系统自动设置。
  • 示例/usr/local/go(macOS)、C:\Go(Windows)等。
bash
go env GOROOT

GOPATH

  • 作用:定义 Go 的工作目录(在 Go Modules 出现前是核心,现在仍用于缓存和工具存储)。
  • 默认结构:该目录下包含 3 个子目录:
    • src:存放项目的源代码。在 Go 1.11 之后被替代,不在存放项目的源代码。
    • pkg:存放编译后的包缓存(.a 文件)和模块缓存(pkg/mod)。
    • bin:存放go install 命令安装的二进制文件。功能暂时保留。
bash
# 查看go工作区
go env GOPATH

# 设置go工作区
go env -w GOPATH=/Users/xxx/go

GO111MODULE

  • 开启 go.md 来管理依赖
bash
# 查看go模块
go env GO111MODULE
# 设置go模块
go env -w GO111MODULE=on

编译与平台相关变量

GOOS

  • 指定运行项目的操作系统,如linux、darwin(macOS)、windows、freebsd 等

GOARCH

  • 指定运行项目的操作系统架构,amd64(64 位 x86)、arm64(ARM 64 位)、386(32 位 x86)等。

GOBIN

  • 指定编译后的二进制文件存放目录,默认是 $GOPATH/bin

GOCACHE

  • 指定编译缓存目录(存储临时编译产物,加速重复构建)。
  • 默认值:$GOPATH/pkg/mod/cache

模块与依赖相关变量

GOPROXY

  • 配置代理,加速下载依赖。
  • 默认值:https://proxy.golang.org,direct
bash
# 查看 go代理
go env GOPROXY

# 设置 官方代理
go env -w GOPROXY=https://proxy.golang.org,direct
# 设置 中国代理
go env -w GOPROXY=https://goproxy.cn,direct