### go env 是一个 Go 语言工具命令,用于打印 Go 环境变量的值。 在命令行输入 go env,会输出当前 Go 环境变量的值,例如: GOARCH="amd64" GOBIN="" GOCACHE="/Users/username/Library/Caches/go-build" GOENV="/Users/username/Library/Application Support/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOINSECURE="" GOMODCACHE="/Users/username/go/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="darwin" GOPATH="/Users/username/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64" GOVCS="" GOVERSION="go1.17.2" GCCGO="gccgo" AR="ar" CC="clang" CXX="clang++" CGO_ENABLED="1" GOMOD="/Users/username/go/src/example.com/myproject/go.mod" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" 这些环境变量包括: 1. GOARCH:目标机器的处理器架构(例如 amd64、arm、386 等)。 2. GOBIN:安装 Go 可执行文件的目录。 3. GOCACHE:构建和测试过程中使用的缓存目录。 4. GOENV:存储 Go 环境变量文件的目录。 5. GOEXE:生成的可执行文件的扩展名(例如 .exe)。 6. GOFLAGS:传递给编译器和链接器的标志。 7. GOHOSTARCH:Go 程序编译时运行的机器的处理器架构。 8. GOHOSTOS:Go 程序编译时运行的机器的操作系统。 9. GOINSECURE:允许使用不安全的网络协议。 10. GOMODCACHE:存储依赖项模块的缓存目录。 11. GONOPROXY:不使用代理的模块列表。 12. GONOSUMDB:不使用校验和数据库的模块列表。 13. GOOS:目标机器的操作系统(例如 darwin、linux、windows 等)。 14. GOPATH:Go 项目的工作目录。 15. GOPRIVATE:私有模块的列表。 16. GOPROXY:代理服务器的 URL。 17. GOROOT:Go 标准库的安装目录。 18. GOSUMDB:校验和数据库的 URL。 19. GOTMPDIR:临时文件的目录。 20. GOTOOLDIR:存储编译器和链接器等工具的目录。 21. GOVCS:版本控制系统的名称。 22. GOVERSION:安装的 Go 版本号。 23. GCCGO:使用的 GCC 版本号。 24. AR:使用的归档工具。 25. CC:使用的 C 编译器。 26. CXX:使用的 C++ 编译器。 27. CGO_ENABLED:是否启用 CGO。 28. GOMOD:当前项目的 go.mod 文件的路径。 29. CGO_CFLAGS:传递给 C 编译器的标志。 30. CGO_CPPFLAGS:传递给 C++ 编译器的标志。 31. CGO_CXXFLAGS:传递给 C++ 编译器的标志。 32. CGO_FFLAGS:传递给 Fortran 编译器的标志的值。 这些环境变量可以通过在命令行中设置或者通过修改操作系统的环境变量来修改。例如,要将 GOPATH 设置为 /path/to/gopath,可以在命令行中输入: >export GOPATH=/path/to/gopath 或者将该行添加到操作系统的环境变量中。 go env 命令还可以使用 -w 标志来设置环境变量的值。例如,要将 GOROOT 设置为 /usr/local/go,可以在命令行中输入: > go env -w GOROOT=/usr/local/go 修改goroot > go env -w GOPROXY=https://goproxy.cn 国内镜像源 重点推荐 > go env -w GOPROXY=https://goproxy.cn,direct 修改镜像 > go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/ 切换为阿里镜像 这将在当前 shell 会话中设置 GOROOT 的值。