GOPATH

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


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也会被引入),如下图所示

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容