GOPATH

GOPATH

从 Go 1.8 版本开始,Go 开发包在安装完成后,将 GOPATH 赋予了一个默认的目录,参见下表

img

image.png

在Jetbrains 公司的 GoLand 集成开发环境(IDE)中GOPATH分两种:
1、Global GOPATH
2、Project GOPATH

Global GOPATH与Project GOPATH 都代表项目所使用的 GOPATH,该设置会被保存在工作目录的 .idea 目录下,不会被设置到环境变量的 GOPATH 中,但会在编译时使用到这个目录。建议在开发时只填写项目 GOPATH,每一个项目尽量只设置一个 GOPATH,不使用多个 GOPATH 和全局的 GOPATH。

在IDE中如果这两个都不设置,那默认会选择GOPATH的环境变量,也就是安装Go时GOPATH被赋予的默认目录。

设置GOPATH后,工程中使用import的根目录是GOPATH中的src目录
如果GOPATH为/Users/cheny/myproject/go ,工程为/Users/cheny/myproject/go/src/MyGoProject
那么MyGoProject中使用import导入本地包的时候就是这样

import "MyGoProject/myLibs"  // myLibs为包名

也就是说GOPATH下必须要有src目录,不然import导包的时候会找不到
import导包规则: 先去GOROOT/src/路径下找
/usr/local/go/src/myLibs (from $GOROOT)

如果没有就去Project GOPATH/src/路径下找
/Users/cheny/myproject/go/src/myLibs (from $GOPATH)

如果还没找到就去Global GOPATH下面找(当然前提是你需要设置了Global GOPATH)

在IDE中创建项目的时候有个index entire GOPATH选择框,如果勾选了,那所有GOPATH中的src文件夹所包含的内容都会通过依赖包的形式引入并显示出来(如果不勾选GOPATH也会被引入),如下图所示

img

作者:岛在深海处
链接:https://www.jianshu.com/p/cf298a0db3fa
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted @ 2020-08-18 22:02  CyberPelican  阅读(353)  评论(0编辑  收藏  举报