小编给大家分享一下golang在windows中设置环境变量的操作示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
golang的优点
golang是一种编译语言,可以将代码编译为机器代码,编译后的二进制文件可以直接部署到目标机器而无需额外的依赖,所以golang的性能优于其他的解释性语言,且可以在golang中使用goroutine来实现并发性,它提供了一个非常优雅的goroutine调度程序系统,可以很容易地生成数百万个goroutine。
安装完成后需要在系统环境变量中设置
GOPATH为项目目录
GOROOT为安装目录
path中设置好安装目录到bin目录
打开cmd,输入go env,出现如下配置生效
补充:Golang 环境变量须知
1.前言
无论你是使用 Windows、Linux 还是 Mac 操作系统来开发 Go 应用程序,在安装好 Go 安装语言开发工具之后,都必须配置好 Go 语言开发所要求的 环境变量,才算初步完成 Go 开发环境的搭建。
但对于一些初学者来说,可能不太明白 Go 语言中常用的环境变量的作用以及如何设置环境变量,下面在 Windows 环境下来讲讲。
2.查看环境变量
安装完 Go 后,我们可以使用 go env 命令查看当前 Go 的所有默认环境变量。
go envset GO111MODULE=set GOARCH=amd64set GOBIN=set GOCACHE=C:\Users\dablelv\AppData\Local\go-buildset GOENV=C:\Users\dablelv\AppData\Roaming\go\envset GOEXE=.exeset GOFLAGS=set GOHOSTARCH=amd64set GOHOSTOS=windowsset GOINSECURE=set GOMODCACHE=D:\go\pkg\modset GONOPROXY=git.code.oa.com,git.woa.comset GONOSUMDB=git.code.oa.com,git.woa.comset GOOS=windowsset GOPATH=D:\goset GOPRIVATE=git.code.oa.com,git.woa.comset GOPROXY=https://proxy.golang.org,directset GOROOT=C:\Program Files\Goset GOSUMDB=sum.golang.orgset GOTMPDIR=set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64set GCCGO=gccgoset AR=arset CC=gccset CXX=g++set CGO_ENABLED=1set GOMOD=D:\code\kknock\KnockKnock\application\group_srv\go.modset CGO_CFLAGS=-g -O2set CGO_CPPFLAGS=set CGO_CXXFLAGS=-g -O2set CGO_FFLAGS=-g -O2set CGO_LDFLAGS=-g -O2set PKG_CONFIG=pkg-configset GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\dablelv\AppData\Local\Temp\go-build853783354=/tmp/go-build -gno-record-gcc-switches
也可以查到指定环境变量的值。
go env GOROOTC:\Program Files\Go
Go 语言中可以设置的环境变量有很多,每个环境变量都有其作用,不过很多我们可能都用不到,一般需要了解下面几个最常用的就够了。
GOROOTGOPATHGO111MODULEGOPROXYGOPRIVATEGOBINGOOSGOARCH
关于环境变量的详细说明,可使用命令go help environment查询。
GOROOT
GOROOT 表示 Go 语言的安装目录。
GOROOT 的作用是用来索引 Go 语言的安装目录下的相关资源,比如 bin 目录的工具(如 go 命令),src 目录下的源码等。
GOPATH
GOPATH 用于指定我们的开发工作区,可以有多个。
按照 Go 开发规范,GOPATH 目录下一般分为三个子目录 src,pkg,bin。
src 目录存放我们需要开发的项目源码,pkg 存放依赖的包和编译后的静态库文件,bin 放源代码编译后台的可执行文件。
下面是一个 GOPATH 目录示例布局。
GOPATH=/home/user/go/home/user/go/ src/ foo/ bar/ (go code in package bar) x.go quux/ (go code in package main) y.go bin/ quux (installed command) pkg/ linux_amd64/ foo/ bar.a (installed package object)
注意:
(1)如果 GOPATH 未显示设置,则默认为用户主目录中名为 go 的子目录。Unix 下为$HOME/go,Windows 下为%USERPROFILE%\go(一般为C:\Users\YourName\go),Plan 9 下为$home/go。
(2)使用模块时,GOPATH 不再用于解析导入,但是它仍然用于存储下载的源代码(在GOPATH/pkg/mod中)和编译的命令(在GOPATH/bin中)。
(3)使用命令go help gopath可查看 GOPATH 详细说明。
GO111MODULE
在 go1.11 的时候推出了这个 go modules 来解决依赖管理的问题。
通过变量 GO111MODULE 来控制 Go Module 的开启和关闭,取值 off、on 或 auto。
从 Go 1.13 开始,Go Module 作为 Golang 中的标准包管理器。
GOPROXY
go get 下载依赖时使用的代理地址列表,使用逗号 (,) 或竖杠 (|) 分隔。
当用 go 命令查找依赖模块时,它会按顺序访问 GOPROXY 列表中的每个代理,直到收到成功的响应或出现终端错误。
GOPROXY 中可能会存在两个关键字来代替代理URL:
off:不允许从任何源下载依赖的模块
direct: 直接从版本控制存储库下载,而不是使用模块代理
GOPROXY 缺省值为https://proxy.golang.org,direct。
GOPRIVATE
go get 通过代理服务拉取仓库时,因为代理服务不可能访问到私有仓库(一般为企业内部代码管理平台),会出现 404 错误。
go1.13 版本提供了一个方便的解决方案:GOPRIVATE 环境变量。
如:
setx GOPRIVATE=gitlab.com,git.woa.com
GOBIN
用于存储我们使用go install命令安装的程序。
如果没有设置 GOBIN,程序一般会安装到为GOPATH/bin目录。
GOOS
当前的操作系统。例如 linux、darwin、windows、netbsd、freebsd、openbsd、solaris、plan9 等。
注意 mac os对应的值是 darwin。
GOARCH
表示 CPU 架构。如 amd64、386、arm、ppc64 等。
看完了这篇文章,相信你对“golang在windows中设置环境变量的操作示例”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!