Go Import
整理关于 import 报错的分析及解决方法,希望通过此文可解决97%的import问题,3%可能与IDE有关。
> 1 import 过程理解:
首先明确 GOROOT 和 GOPATH 绝对路径,通过命令行`go env`即可查看。
包依赖引用的寻找过程:举例*.go文件中 `import "custompkg"`会查找如下路径:
- <GOROOT>/src/custompkg` 表示from $GOROOT;
- <GOPATH>/src/custompkg` 表示from $GOPATH;
- <GOPATH>/src/<projectName>/vendor/custompkg` 表示 vendor tree,如果没有用GOVENDER,参考GOMOD;
- <GOPATH>/src/<projectName>/custompkg` 表示from $GOPATH;
可见对于自定义的GOPATH中,我们需要创建一个src文件夹(其实应该同时创建3个文件夹bin, pkg, src),然后在src中创建不同project的文件夹,每个project中再创建3个文件夹(bin,pkg,src)。
对于自定义的包文件夹通常创建在`<GOPATH>/<projectName>/src`文件夹中,例如: