windows下gopath设置

下载了go语言的安装包, 然后安装, 装完了需要设置三个地方:

1. 在windows的PATH变量中添加go的可执行文件所在的目录:

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. PATH=C:Goin;其他设置;  

2. 设置 GOROOT , 这个好理解, 直接设置成 C:Go 即可

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. GOROOT=C:Go  

3. 设置GOPATH, 这个很难理解, 我的尝试:

[python] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. GOPATH=    #就是等于空, 这个是可以在系统环境变量中设置的, 结果报错go get 包的时候报错说$GOPATH未设置  
  2. GOPATH=;   #就是等于一个分号(;), go get 包开始可以运行, 不报错, 最后还是报错, 说$GOPATH未设置  
  3. GOPATH=C:Go 或者GOPATH=C:Go;    #go get 包报错, 说$GOPATH不能设置成和GOROOT一样的  

最后的解决方案是:

在C盘创建一个目录叫做GOPATH, 然后设置GOPATH=C:GOPATH,  

[python] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. GOPATH=C:GOPATH  


go get 包可以使用了, 最后包会安装到 C:GOPATH 目录的pkg和src文件夹里, pkg里是*.a格式的, 暂且理解为库吧, src目录里是*.go格式的源码.

总结

实际上GOPATH, 可以是一个目录的列表, 在windows环境变量里设置的时候, 多个目录使用分号(;)隔开, 在linux里多个目录使用冒号(:)隔开, 组合的一个字符串.

GOPATH是一些列用于go来查找包的目录列表. 使用import "包名" 的时候, 如果在 GOROOT里找不到, 应该会转向到你的GOPATH里去寻找.

不让GOPATH和GOROOT环境变量的值设置为同一个目录, 可能是因为不想你新安装的包, 污染了核心go的pkg和src文件.

参考资料:

GOROOT 和 GOPATH: http://my.oschina.net/achun/blog/134002 

只推荐这一篇, 其他的都是狗屎.

原文地址:https://www.cnblogs.com/rojas/p/4289608.html