目录结构如下
报错 cannot find package xxx in any of
1是路径没配对,把src去掉,因为GOPATH的规则好像是自动识别目录下的src路径,所以改成下面即可
2是别勾这个
否则会如下报错
含义参考 Enable Go modules integration在做什么 - 知乎
goland有两种方式获得包信息。
GOPATH
。 IDEA 扫描您的$GOPATH
目录以构建包的内部索引并提供代码完成、解析等。Go modules
。 IDEA 执行go list -m -json
来解决您的依赖关系并扫描您的$GOPATH/pkg/mod
目录(GOMODCACHE
的默认值)以查找包。如果它们不存在,IDEA 会执行go mod download
。在这些操作之后,IDE 提供了所有内置功能,如代码补全等。这两种模式都不会改变您的 Go 或环境变量以及终端中的行为。 当您在设置中选中
Enable Go Modules integration
选项时,IDE 只需将模式从扫描$GOPATH
切换到执行go list
并从Go Modules
缓存中解析您的依赖项。
所以勾了Enable Go modules integration,goland IDE就不扫描GOPATH了