假设我具有以下结构。
export $GOPATH = ~/workspace/go
目录树:
~/workspace
+ go
+ src
+ example
+ exp1
- main.go
- client.go
+ utils
- my_utils.go
在文件main.go
中,我想导入“ client.go”和“ utils / my_utils.go”。怎么做?
import {
"./client.go"
}
会给我
非本地包中的本地导入“ ./client.go”
[子目录中的任何其他文件,例如我的“ utils”文件夹,也会发生同样的情况。
我已经阅读了很多有关此错误消息和GOPATH的信息。但是,来自NodeJS,PHP和C ++的我真的仍然不了解GoLang如何处理文件导入的概念,这里需要进一步说明。
[我也读过人们将从“ GitHub.com”导入所有内容的信息,但是在我可以在本地项目中对其进行测试之前,先将代码推送到GitHub对我来说是没有意义的。
顺便说一句,我也很好奇为什么go get
不会与将要用go get
来获取的特定库一起获取所有子依赖项?
提前感谢!
[我也读过人们将从“ GitHub.com”导入所有内容的信息,但是在我可以在本地项目中对其进行测试之前,先将代码推送到GitHub对我来说是没有意义的。
您不必将其推到任何地方就可以对其进行测试。您只需选择导入路径是什么,然后将代码相应地放在GOPATH
中即可(或将go mod init
与Go 1.11+一起使用,从而可以将代码放置在所需的文件系统中的任何位置)。但是,即使您以后决定更改它,也仍然必须选择该导入路径。
顺便说一句,我也很好奇为什么go get不会与go get一起获取的特定库一起获取所有子依赖项?
是。