Golang中的环境变量基础解释
最近因为学习Golang的缘故,好奇的去了解了一下Go安装到系统中后,默认的env变量有多少,各个变量都有什么含义,方便后续针对特殊场景做出相应的修改,今天简单整理给大家。
说明
自带英文的比较全,也解释的比较清晰,可能还会附带详细的网页地址(需要科学上网),大家自行选择。
英文版本命令
查看原版命令:
go help environment
示例图
中文基本解释(后期根据需要会有所改动)
- GO111MODULE - 区分
模块感知模式或GoPath模式on- 启用模块感知模式,加载项目中的go.mod文件依赖off- 加载GOPATH下的文件包引入进来auto- 先找go.mod文件,没有再去找GOPATH
- GCCGO - 运行命令
go build -compiler=gccgo - GOARCH - 用于编译代码的体系结构或处理器
- amd64(intel), 386(老cpu), arm(mac m1), ppc64
- GOBIN -
go install执行后生成文件的目录- 默认是GOPATH下的bin目录
- GOCACHE - GO存储缓存的目录,方便后续项目重用信息
- GOMODCACHE - Go用来存储下载模块的目录
- GODEBUG - 启用各种调试工具
- GOENV - Go环境配置文件的位置,不能用
go env -w进行配置或修改 - GOFLAGS - 空格分隔的标记值,格式:
-flag=值 - GOHOSTARCH - Go二进制文件的架构
- 例如:amd64
- GOHOSTOS - Go二进制文件的操作系统
- 例如:windows
- GOINSECURE - 逗号分隔的glob模式列表(在Go的path.Match函数中),总是以不安全的模式进行获取。不会禁用校验和数据库验证。GOPRIVATE或GONOSUMDB可以用来实现这个目标。
- GOPRIVATE, GONOPROXY, GONOSUMDB - 逗号分隔的glob模式列表(在Go的path.Match函数中),总是以不安全的模式进行获取。不会禁用校验和数据库验证
- GOMODCACHE - Go存储下载模块的目录,对应
go.mod文件 - GOOS - 编译代码的操作系统,切换值可编译试用不同系统的程序。
- 例如:linux, darwin, windows, netbsd.
- GOPATH - 存储Go源代码、package包和编译后程序的路径。默认会在用户目录下。
- GOPROXY - Go模块网络代理Url地址。
- GOROOT - Go安装环境根地址
- GOSUMDB - 要使用的校验和数据库的名称以及它的公钥和URL(可选)。
- GOTMPDIR - Go的临时目录,会写入临时源文件、包和二进制文件。
- GOTOOLDIR - go工具(compile, cover, doc等)安装的目录。
- GOVCS - 列出可能与匹配的服务器一起使用的版本控制命令。
- GOVERSION - 当前安装的Go版本
- GOAMD64 - 对于amd64环境下,要编译的微架构级别。有效值为v1(默认值)、v2、v3、v4。
- 有效值解释查看地址:github.com/golang/go/w…
- AR - 操作库存档时使用的命令
- CC - 使用命令编译C代码
- CXX - 使用命令编译C++代码
- CGO_ENABLED - 是否支持cgo命令,值范围:0或1
- GOMOD - go.mod文件的绝对路径。如果模块感知模块是启用的,那么它是(根据操作系统不同,值不同,Unix系统为:"/dev/null",windows系统为"NUL)