美文网首页
GO学习--$GOBIN

GO学习--$GOBIN

作者: 原鸣清 | 来源:发表于2018-12-10 12:00 被阅读41次

    GO环境变量与工作区

    这个题目很大,内容很多,网上的资料也很多,巩固学习最好的方法是通过go help看文档,我仅能根据自己的学习经验,写一点自己学习过程中的理解。这里先附上GO语言规范文档,以供学习查阅,节约时间。
    先声明一下,我的机器是MAC,linux下是基本一致的,Windows就不用看了,浪费您时间。


    环境变量

    先看图,终端执行命令go help environment

    go_env.png
    • 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在同一目录下。

    工作区

    dir0.png

    如图是我的$GOPATH工作目录,这里请注意srcpkgbin,这个三个文件夹。先说一句,根据我的理解,这三个文件夹下面都是依赖,包括你自己的写的代码,也可以作为依赖使用。三个文件夹对应三种格式的文件,不管套了几层文件夹,内核不变。

    • src .go文件,这里是源码文件,你自己的代码写在这里。如图1是我的项目目录,也是一个$GOPATH目录.
    dir1.png
    但是注意包名的问题,因为你所依赖的代码也可能在这里,比如说github.comgolang.org,当然,GOPATH可以配置多个,这样别人的代码你可以把它放到一个通用的$GOPATH/src下,就像我一样。
    dir2.png
    • pkg 参考c语言下的静态库文件.archive,后缀名缩写为.a格式
    • bin 这里的是可执行文件,也就是前面提到的make install的结果文件。

    总结

    学而时习之,虽然这里的内容都很简单,对于读者来说可能价值不大,但于我有三点好处:

    • 因为想写点什么东西,自然需要查阅资料,组织言语,增强理解
    • 若侥幸有志同道合的朋友读到此处,欢迎讨论,也能帮我指正不足
    • 记录一下作为GO初学者的理解,日后温故知新有个对照

    相关文章

      网友评论

          本文标题:GO学习--$GOBIN

          本文链接:https://www.haomeiwen.com/subject/nfkrhqtx.html