go语言有哪些环境变量-创新互联

go语言有哪些环境变量?针对这个问题,今天小编总结这篇有关golang环境变量的文章,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。

创新互联建站于2013年创立,是专业互联网技术服务公司,拥有项目成都网站制作、做网站、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元乐都做网站,已为上家服务,为乐都各地企业和个人服务,联系电话:028-86922220

环境变量代表的含义:

$ go help environment
The go command and the tools it invokes consult environment variables
for configuration. If an environment variable is unset, the go command
uses a sensible default setting. To see the effective setting of the
variable , run 'go env '. To change the default setting,
run 'go env -w ='. Defaults changed using 'go env -w'
are recorded in a Go environment configuration file stored in the
per-user configuration directory, as reported by os.UserConfigDir.
The location of the configuration file can be changed by setting
the environment variable GOENV, and 'go env GOENV' prints the
effective location, but 'go env -w' cannot change the default location.
See 'go help env' for details.

General-purpose environment variables:

     GCCGO
         The gccgo command to run for 'go build -compiler=gccgo'.
     GOARCH
         The architecture, or processor, for which to compile code.
         Examples are amd64, 386, arm, ppc64.
     GOBIN
         The directory where 'go install' will install a command.
     GOCACHE
         The directory where the go command will store cached
         information for reuse in future builds.
     GODEBUG
         Enable various debugging facilities. See 'go doc runtime'
         for details.
     GOENV
         The location of the Go environment configuration file.
         Cannot be set using 'go env -w'.
     GOFLAGS
         A space-separated list of -flag=value settings to apply
         to go commands by default, when the given flag is known by
         the current command. Each entry must be a standalone flag.
         Because the entries are space-separated, flag values must
         not contain spaces. Flags listed on the command line
         are applied after this list and therefore override it.
     GOOS
         The operating system for which to compile code.
         Examples are linux, darwin, windows, netbsd.
     GOPATH
         For more details see: 'go help gopath'.
     GOPROXY
         URL of Go module proxy. See 'go help modules'.
     GOPRIVATE, GONOPROXY, GONOSUMDB
         Comma-separated list of glob patterns (in the syntax of Go's path.Match)
         of module path prefixes that should always be fetched directly
         or that should not be compared against the checksum database.
         See 'go help module-private'.
     GOROOT
         The root of the go tree.
     GOSUMDB
         The name of checksum database to use and optionally its public key and
         URL. See 'go help module-auth'.
     GOTMPDIR
         The directory where the go command will write
         temporary source files, packages, and binaries.

Environment variables for use with cgo:

     AR
         The command to use to manipulate library archives when
         building with the gccgo compiler.
         The default is 'ar'.
     CC
         The command to use to compile C code.
     CGO_ENABLED
         Whether the cgo command is supported. Either 0 or 1.
     CGO_CFLAGS
         Flags that cgo will pass to the compiler when compiling
         C code.
     CGO_CFLAGS_ALLOW
         A regular expression specifying additional flags to allow
         to appear in #cgo CFLAGS source code directives.
         Does not apply to the CGO_CFLAGS environment variable.
     CGO_CFLAGS_DISALLOW
         A regular expression specifying flags that must be disallowed
         from appearing in #cgo CFLAGS source code directives.
         Does not apply to the CGO_CFLAGS environment variable.
     CGO_CPPFLAGS, CGO_CPPFLAGS_ALLOW, CGO_CPPFLAGS_DISALLOW
         Like CGO_CFLAGS, CGO_CFLAGS_ALLOW, and CGO_CFLAGS_DISALLOW,
         but for the C preprocessor.
     CGO_CXXFLAGS, CGO_CXXFLAGS_ALLOW, CGO_CXXFLAGS_DISALLOW
         Like CGO_CFLAGS, CGO_CFLAGS_ALLOW, and CGO_CFLAGS_DISALLOW,
         but for the C++ compiler.
     CGO_FFLAGS, CGO_FFLAGS_ALLOW, CGO_FFLAGS_DISALLOW
         Like CGO_CFLAGS, CGO_CFLAGS_ALLOW, and CGO_CFLAGS_DISALLOW,
         but for the Fortran compiler.
     CGO_LDFLAGS, CGO_LDFLAGS_ALLOW, CGO_LDFLAGS_DISALLOW
         Like CGO_CFLAGS, CGO_CFLAGS_ALLOW, and CGO_CFLAGS_DISALLOW,
         but for the linker.
     CXX
         The command to use to compile C++ code.
     FC
         The command to use to compile Fortran code.
     PKG_CONFIG
         Path to pkg-config tool.

Architecture-specific environment variables:

     GOARM
         For GOARCH=arm, the ARM architecture for which to compile.
         Valid values are 5, 6, 7.
     GO386
         For GOARCH=386, the floating point instruction set.
         Valid values are 387, sse2.
     GOMIPS
         For GOARCH=mips{,le}, whether to use floating point instructions.
         Valid values are hardfloat (default), softfloat.
     GOMIPS64
         For GOARCH=mips64{,le}, whether to use floating point instructions.
         Valid values are hardfloat (default), softfloat.
     GOWASM
         For GOARCH=wasm, comma-separated list of experimental WebAssembly features to use.
         Valid values are satconv, signext.

Special-purpose environment variables:

     GCCGOTOOLDIR
         If set, where to find gccgo tools, such as cgo.
         The default is based on how gccgo was configured.
     GOROOT_FINAL
         The root of the installed Go tree, when it is
         installed in a location other than where it is built.
         File names in stack traces are rewritten from GOROOT to
         GOROOT_FINAL.
     GO_EXTLINK_ENABLED
         Whether the linker should use external linking mode
         when using -linkmode=auto with code that uses cgo.
         Set to 0 to disable external linking mode, 1 to enable it.
     GIT_ALLOW_PROTOCOL
         Defined by Git. A colon-separated list of schemes that are allowed
         to be used with git fetch/clone. If set, any scheme not explicitly
         mentioned will be considered insecure by 'go get'.
         Because the variable is defined by Git, the default value cannot
         be set using 'go env -w'.

Additional information available from 'go env' but not read from the environment:

     GOEXE
         The executable file name suffix (".exe" on Windows, "" on other systems).
     GOGCCFLAGS
         A space-separated list of arguments supplied to the CC command.
     GOHOSTARCH
         The architecture (GOARCH) of the Go toolchain binaries.
     GOHOSTOS
         The operating system (GOOS) of the Go toolchain binaries.
     GOMOD
         The absolute path to the go.mod of the main module,
         or the empty string if not using modules.
     GOTOOLDIR
         The directory where the go tools (compile, cover, doc, etc...) are installed.

你可以使用以下命令查看你的go环境变量:

$ go env

接下来就来了解一下其他的环境变量。

GOARCH 和 GOOS

GOARCH :cpu架构,386、amd64、arm等,在交叉编译的时候设置,可以编译不同平台的包。
GOOS:平台,linux、windows等,通常和GOARCH搭配使用。
这里贴一下在不同平台下交叉编译的命令:

Mac下编译Linux, Windows平台的64位可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go

Linux下编译Mac, Windows平台的64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go

Windows下编译Mac, Linux平台的64位可执行程序:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build test.go
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build test.go

GOCACHE

这是go build产生的缓存,这可以加快编译速度,我在GOCACHE打印出来的路径下看到了一个README文件,它解释了GOCACHE。

This directory holds cached build artifacts from the Go build system.
Run "go clean -cache" if the directory is getting too large.
See golang.org to learn more about Go.

可以使用"go clean -cache"命令清除编译缓存。

GOENV

本地的go环境文件存储位置,不可以用"go env -w"设置它。

以上就是golang环境变量的知识汇总,内容较为全面,小编相信有部分知识点可能是我们日常工作可能会见到或用到的。希望你能通过这篇文章学到更多知识。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:go语言有哪些环境变量-创新互联
标题URL:http://pwwzsj.com/article/hdhsp.html