GO环境变量与工作区
这个题目很大,内容很多,网上的资料也很多,巩固学习最好的方法是通过go help
看文档,我仅能根据自己的学习经验,写一点自己学习过程中的理解。这里先附上GO语言规范文档,以供学习查阅,节约时间。
先声明一下,我的机器是MAC,linux下是基本一致的,Windows就不用看了,浪费您时间。
环境变量
先看图,终端执行命令go help environment
- GOROOT GO语言的安装根目录,也是GO的安装路径
- GOPATH 可以有多个,若干个工作区目录的路径,自定义的工作空间。通常遇到的错误都和GOPATH有关,一定要准确理解GOPATH的含义,设置正确的环境变量;
go get xxx
获得的依赖中,源码在./src路径下,go build
后依赖生成的.a格式的静态库文件就在./pkg路径下。还有个./bin文件夹构成了基本机构。 - GOBIN 程序生成的可执行文件的路径。这里注意,你可以设置它,也可以不设置,默认是个空字符串,我猜测它会链接距离最短的$GOPATH下的./bin文件夹;这里多说一句,需要
go install
才会链接到GOBIN,go build
之后你的可执行文件和你的main.go在同一目录下。
工作区
如图是我的$GOPATH工作目录,这里请注意src,pkg,bin,这个三个文件夹。先说一句,根据我的理解,这三个文件夹下面都是依赖,包括你自己的写的代码,也可以作为依赖使用。三个文件夹对应三种格式的文件,不管套了几层文件夹,内核不变。
- src .go文件,这里是源码文件,你自己的代码写在这里。如图1是我的项目目录,也是一个$GOPATH目录.
但是注意包名的问题,因为你所依赖的代码也可能在这里,比如说github.com和golang.org,当然,GOPATH可以配置多个,这样别人的代码你可以把它放到一个通用的$GOPATH/src下,就像我一样。
- pkg 参考c语言下的静态库文件.archive,后缀名缩写为.a格式
- bin 这里的是可执行文件,也就是前面提到的
make install
的结果文件。
总结
学而时习之,虽然这里的内容都很简单,对于读者来说可能价值不大,但于我有三点好处:
- 因为想写点什么东西,自然需要查阅资料,组织言语,增强理解
- 若侥幸有志同道合的朋友读到此处,欢迎讨论,也能帮我指正不足
- 记录一下作为GO初学者的理解,日后温故知新有个对照