初始go-----踩坑记录

拖延症患者最近终于拿起了屯了好久的go语言圣经,开始了go语言的踩坑之旅:

0.

接连受到公司老哥的鄙视,所以在技术方面的问题放弃使用baidu,一心一意使用google。上学时代打下的英语基础还不错,所以基本可以完成查、读、写的功能。

发现国外的活跃社区真的挺多的,好多问题都能得到及时解决,大家的文章和回答质量也很高。

所以学好英语对程序员真的很重要,大家一定要多多学习!!!

//下面开始正式的踩坑记录:

//我的主要使用环境时centOs7,所以更关注在unix环境下的使用,当然win的环境后续也会跟进;

1.

关于go的安装、配置。

基本过程去搜索一下都有,发现这个问题是因为根据书中的例子导入了一个自定义包,但是 build 时一直报错,所以去认真查了一下关于包的机制,发现如下:

https://github.com/golang/go/wiki/SettingGOPATH

这是guthub上go wiki给出的解释,从中可以看出,我们设置的GOPATH 时我们实际的工作空间(workspace),可以理解为项目的根目录。并且若我们不自己设置的话,$GOPATH会自动设置为$HOME/go(unix)下。

关于在unix系统中的GOPATH的一些注意事项:

a.GOPATH能够时系统中的任何目录;

b.在GO1.8后GOPATH的初始路劲为:$HOME/go

c.注意:GOPATH不能和go的安装目录相同。

我个人比较喜欢用bash方法设置,所以这里贴出了bash的方法:

具体步骤按照上面来就OK。

(win的相关设置在上述网址中也能找到)。

贴几篇文章:

https://blog.learngoprogramming.com/what-are-goroot-and-gopath-1231b084723f

2.关于包的机制:

go 语言的特点之一就是:

package 和 import;

在go语言圣经中有这样的描述:

“例如,gopl.io/ch1/helloworld 包的文件存储在目录 $GOPATH/srcgopl.io/ch1/helloworld 中”;

从中可以理解到:

(1)go语言会根据$GOPATH去寻找包文件;

(2)目录最后的helloworld时一个文件夹的名字,不是想C语言或者php中的某个类或者.h/.hpp的具体文件名。

所以在构建workspace时,要有src文件夹以及相关路径中的文件夹;

按$GOPATH路径寻找是根据自定义包而言,而对于go的标准包,路径则是:$GOROOT/src

-----------2019/4/27

发布了158 篇原创文章 · 获赞 37 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/XUCHEN1230/article/details/89597616