GOROOT、GOPATH、GOBIN的区别

在使用go之前必须了解的

在安装了go之后运行测试代码的时候发现出现如下警告:

1
warning: GOPATH set to GOROOT (D:\Go) has no effect

原因是GOPATH设置的路径和GOROOT重复了

我们接下来一个一个来看关于Go语言中的三个目录的详细解释
先通过go env查看go的环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
C:\Users\67082>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\67082\AppData\Local\go-build
set GOENV=C:\Users\67082\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\67082\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=D:\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\67082\AppData\Local\Temp\go-build803567202=/tmp/go-build -gno-record-gcc-switches

GOROOT
其实就是golang 的安装路径
当你安装好golang之后其实这个就已经有了
GOPATH
go命令依赖的一个重要环境变量:$GOPATH

其实可以把这个目录理解为工作目录,我个人定义的目录是:
GOPATH=”/E/go_project”
当然这个目录是需要添加到环境变量中的
直接在goland的设置中搜索GOPATH
然后将这个目录添加到GOPATH即可,警告就解除了!

0%