Go语言环境变量
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\rrrr\AppData\Local\go-build
set GOENV=C:\Users\rrrr\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\rrrr\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\rrrr\go
set GOPRIVATE=
set GOPROXY=https://mirrors.aliyun.com/goproxy
set GOROOT=E:\GO\install
set GOSUMDB=off
set GOTMPDIR=
set GOTOOLCHAIN=auto
set GOTOOLDIR=E:\GO\install\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.22.4
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\rrrr\AppData\Local\Temp\go-build59495733=/tmp/go-build -gno-record-gcc-switches
-
GO111MODULE
:- 用途: 控制Go模块支持。
- 值:
on
: 启用模块支持。off
: 禁用模块支持。auto
: 根据环境自动启用或禁用模块支持。
-
GOARCH
:- 用途: 指定编译目标的架构。
- 值: 常见值包括
amd64
,386
,arm
,arm64
等。在此例中,amd64
表示目标架构为64位x86架构。
-
GOBIN
:- 用途: 指定
go install
命令安装二进制文件的目录。 - 值: 此例为空,表示安装路径默认为
GOPATH/bin
。
- 用途: 指定
-
GOCACHE
:- 用途: 指定构建缓存的目录。
- 值:
C:\Users\rrrr\AppData\Local\go-build
,表示缓存存储在这个目录中。
-
GOENV
:- 用途: 指定存储Go环境变量的文件路径。
- 值:
C:\Users\rrrr\AppData\Roaming\go\env
,表示Go环境变量存储在这个文件中。
-
GOEXE
:- 用途: 指定生成可执行文件的后缀。
- 值:
.exe
,表示在Windows平台上生成的可执行文件以.exe
结尾。
-
GOEXPERIMENT
:- 用途: 启用实验性的Go编译器功能。
- 值: 空,表示没有启用任何实验性功能。
-
GOFLAGS
:- 用途: 指定go命令行工具的默认标志。
- 值: 空,表示没有默认标志。
-
GOHOSTARCH
:- 用途: 指定运行Go编译器的主机架构。
- 值:
amd64
,表示主机架构为64位x86架构。
-
GOHOSTOS
:- 用途: 指定运行Go编译器的主机操作系统。
- 值:
windows
,表示主机操作系统为Windows。
-
GOINSECURE
:扫描二维码关注公众号,回复: 17505635 查看本文章- 用途: 指定不验证SSL证书的私有模块。
- 值: 空,表示没有不验证SSL证书的模块。
-
GOMODCACHE
:- 用途: 指定模块缓存的目录。
- 值:
C:\Users\rrrr\go\pkg\mod
,表示模块缓存存储在这个目录中。
-
GONOPROXY
:- 用途: 指定不使用代理的私有模块。
- 值: 空,表示所有模块都使用代理。
-
GONOSUMDB
:- 用途: 指定不使用校验和数据库的私有模块。
- 值: 空,表示所有模块都使用校验和数据库。
-
GOOS
:- 用途: 指定编译目标的操作系统。
- 值:
windows
,表示目标操作系统为Windows。
-
GOPATH
:- 用途: 指定Go工作区的根目录。
- 值:
C:\Users\rrrr\go
,表示Go工作区根目录为这个路径。
-
GOPRIVATE
:- 用途: 指定私有模块的路径前缀。
- 值: 空,表示没有私有模块。
-
GOPROXY
:- 用途: 指定Go模块代理的地址。
- 值:
https://mirrors.aliyun.com/goproxy
,表示使用阿里云的Go模块代理。
-
GOROOT
:- 用途: 指定Go安装的根目录。
- 值:
E:\GO\install
,表示Go安装在这个目录中。
-
GOSUMDB
:- 用途: 指定Go模块校验和数据库。
- 值:
off
,表示禁用模块校验和数据库。
-
GOTMPDIR
:- 用途: 指定临时文件的目录。
- 值: 空,表示使用系统默认的临时文件目录。
-
GOTOOLCHAIN
:- 用途: 指定Go工具链版本。
- 值:
auto
,表示自动选择工具链版本。
-
GOTOOLDIR
:- 用途: 指定Go工具的目录。
- 值:
E:\GO\install\pkg\tool\windows_amd64
,表示Go工具存储在这个目录中。
-
GOVCS
:- 用途: 指定版本控制系统配置。
- 值: 空,表示使用默认配置。
-
GOVERSION
:- 用途: 指定当前Go的版本。
- 值:
go1.22.4
,表示使用Go 1.22.4版本。
C/C++环境变量
-
GCCGO
:- 用途: 指定Go编译器使用的gccgo编译器。
- 值:
gccgo
,表示使用gccgo编译器。
-
GOAMD64
:- 用途: 指定64位架构的版本。
- 值:
v1
,表示使用v1版本的amd64架构。
-
AR
:- 用途: 指定ar工具,用于创建、修改和提取归档文件。
- 值:
ar
,表示使用默认的ar工具。
-
CC
:- 用途: 指定C编译器。
- 值:
gcc
,表示使用gcc编译器。
-
CXX
:- 用途: 指定C++编译器。
- 值:
g++
,表示使用g++编译器。
-
CGO_ENABLED
:- 用途: 指定是否启用cgo(允许Go程序调用C代码)。
- 值:
1
,表示启用cgo。
-
CGO_CFLAGS
:- 用途: 指定传递给C编译器的标志。
- 值:
-O2 -g
,表示优化级别为O2,并包含调试信息。
-
CGO_CPPFLAGS
:- 用途: 指定传递给C预处理器的标志。
- 值: 空,表示没有传递额外标志。
-
CGO_CXXFLAGS
:- 用途: 指定传递给C++编译器的标志。
- 值:
-O2 -g
,表示优化级别为O2,并包含调试信息。
-
CGO_FFLAGS
:- 用途: 指定传递给Fortran编译器的标志。
- 值:
-O2 -g
,表示优化级别为O2,并包含调试信息。
-
CGO_LDFLAGS
:- 用途: 指定传递给链接器的标志。
- 值:
-O2 -g
,表示优化级别为O2,并包含调试信息。
-
PKG_CONFIG
:- 用途: 指定pkg-config工具的路径,用于管理库的编译和链接标志。
- 值:
pkg-config
,表示使用默认的pkg-config工具。
-
GOGCCFLAGS
:- 用途: 指定传递给GCC编译器的标志。
- 值:
-m64 -mthreads -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\rrrr\AppData\Local\Temp\go-build59495733=/tmp/go-build -gno-record-gcc-switches
,表示编译器使用这些标志。
总结
这些环境变量用于配置Go语言编译器、工具链和构建过程,确保代码在不同的操作系统和架构上能够正确编译
参考文档:https://blog.csdn.net/qq_38151401/article/details/105729884
https://blog.csdn.net/qq_38151401/article/details/105780251
https://blog.csdn.net/qq_27682041/article/details/78759542