Go入门之——GOROOT、GOPATH、GOBIN 、Project目录

我们接下来一个一个来看关于Go语言中的三个目录的详细解释

先通过go env查看go的环境变量(我这里是window的环境,所以可能和你的不一样)

C:\Users\bkzwh>go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\bkzwh\AppData\Local\go-build
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\GoProject
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
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\bkzwh\AppData\Local\Temp\go-build567847898=/tmp/go-build -gno-record-gcc-switches

一.GOROOT

其实就是golang 的安装路径
当你安装好golang之后其实这个就已经有了

二.GOPATH

go命令依赖的一个重要环境变量:$GOPATH

其实可以把这个目录理解为工作目录,我个人定义的目录是:
GOPATH="D/GoProject"
当然这个目录是需要添加到环境变量中的

Go入门之——GOROOT、GOPATH、GOBIN 、Project目录_第1张图片

GoProject // (GoProject为GOPATH目录)
-- bin // golang编译可执行文件存放路径
-- pkg // golang编译包时,生成的.a文件存放路径
-- src // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。

三.GOBIN

首先在GoProject 下新建三个文件夹 bin、pkg、src在src下新建helloworld文件夹,其中写代码

Go入门之——GOROOT、GOPATH、GOBIN 、Project目录_第2张图片

我们通常是在GoProject目录下执行go build,例如:

D:\GoProject\src\helloworld>go run hello.go
Hello ,world

 现在需要编译hello.go,golang 会自动去src下找helloworld目录,因为我的hello.go中代码的开通导入了packag main包,所以可以编译成可执行文件

D:\GoProject\src\helloworld> cd d:/GoProject

d:\GoProject> go build helloworld

这样默认在当前目录下生成可执行文件 helloworld.exe

Go入门之——GOROOT、GOPATH、GOBIN 、Project目录_第3张图片

 

虽然可以指定目录,但是还是感觉不是非常方便,所以还有两个非常好用的命令:go get 和go install

四.go get go install

go get会做两件事:
1. 从远程下载需要用到的包
2. 执行go install

go install 会生成可执行文件直接放到bin目录下,当然这是有前提的
你编译的是可执行文件,如果是一个普通的包,会被编译生成到pkg目录下该文件是.a结尾

d:\GoProject>
d:\GoProject>go install helloworld

Go入门之——GOROOT、GOPATH、GOBIN 、Project目录_第4张图片

 

参考文章地址:

https://www.cnblogs.com/pyyu/p/8032257.html

https://www.cnblogs.com/zhaof/p/7906722.html

你可能感兴趣的:(go)