前两天意外吧Goland删除之后,由于整理C盘就顺带也把GO给删除了,然后就导致了之后一系列问题,期中造成最大困扰的就是下吗我要说的goroot与gopath
GOROOT
goroot就是我们安装go语言是的路径,它指向的就是go语言安装后的go文件夹。在正常安装go语言后这个我们是不需要管它的,但如果你后面出现了有关环境变量的一些问题,可以去系统的path下看看它的路径是否正确
GOPATH
gopath才是困扰我的“正主”,它go命令依赖的一个重要环境变量:$GOPATH
其实可以把这个目录理解为工作目录,它可以存放sdk以外的第三方类库,或者存放自己收藏的可复用的代码,也是工作文件的存放地
目录结构:$GOPATH目录一般约定的有三个子目录
- src //源码路径,存放源代码(比如:.go .c .h .s等) 按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
- pkg //编译时生成的中间文件(比如:.a)的存放路径 例如golang编译包时
- bin //golang编译可执行文件存放路径,编译后生成的可执行文件都会放在这里(为了方便,可以把此目录加入到PATH变量中,如果有多个gopath,那么可以使用{GOPATH/bin:}/bin添加所有的bin目录)
在下载好Goland软件后还要注意,如果你在安装go语言期间改变了了它的存放位置,那么要记得去环境变量哪里手动更正一下,因为他在环境变量里的默认配置是在C盘创建的go目录,如果不更改Goland将会运行不成功。
此外,还要记得去Goland中查看一下Goland的GOROOT与GOPATH设置,避免出错。(注:Goland支持设置多个GOPATH,只需将他们都加入环境变量里,Windows系统用“;”隔开。不过在Goland中当你下载拓展包是,他会默认放到你第一个GOPATH哪。)
这里在推荐两个很好用的命令:go get 和go install
go get
go get会做两件事:
- 从远程仓库克隆需要用到的包
- 执行go install
go install
go install 会生成可执行文件直接放到bin目录下,当然这是有前提的你编译的是可执行文件,如果是一个普通的包,会被编译生成到pkg目录下该文件是.a结尾
在下载Git后不要忘了在Goland中设置,Goland支持直接在终端执行go get 下载包