通过Goland创建了一个项目,在引用自己依赖时候,总是报错,具体情况如下:
自定义的依赖:

主程序:

运行总是报错:

说我的libtest没在标准库里,我把libtest放在/go/src里就是可以,就在GOROOT下的src可以用到,但是放在GOPATH下就引用不到,求网友们解答一下。
这是我的GOPATH路径:

通过Goland创建了一个项目,在引用自己依赖时候,总是报错,具体情况如下:
自定义的依赖:


运行总是报错:


关注引自免费微信小程序:皆我百晓生
在Go语言中,包的引用遵循一定的规则。从你的描述来看,问题可能是由于GOPATH环境变量设置和项目结构不匹配导致的。
项目结构:你应该将自定义包(libtest)放在符合GOPATH工作空间的目录结构下。比如,如果你的GOPATH为/Users/yourname/go,那么自定义包应当放置在如下路径:
/Users/yourname/go/src/github.com/yourusername/libtest
导入路径:在主程序中引用自定义包时,应使用相对应的导入路径,而非包的实际文件路径。假设按照上述路径放置了libtest包,则在主程序中应这样引用:
import "github.com/yourusername/libtest"
Go Modules:自从Go 1.11引入Go Modules后,推荐使用Go Modules管理依赖。若启用了Go Modules(通常在项目根目录下有一个go.mod文件),则无需关心GOPATH,只需确保正确执行go mod init初始化模块,并使用go build、go run或go mod tidy等命令让Go自动处理依赖。
Goland配置:如果你使用的是Goland IDE,请确保IDE中的GOPATH设置与实际相符,同时确认已启用Go Modules支持或者设置了正确的源码路径。
解决方案:
go mod init github.com/yourusername/libtest。go mod init yourmainproject,然后通过go get github.com/yourusername/libtest来添加依赖。请检查并按照上述建议调整你的项目结构和设置,以便正确引用自定义包。