最近初学golang,遇到一大堆问题。其中就是怎么项目内引用包。golang之前版本是使用gopath来引用,这个要指定导入路径比较麻烦。后面高版本里面引入了go mod方式,这种是go.mod写依赖包。比如:
module golang go 1.13 require github.com/liushuichashe/golang v0.0.0-20190727134117-607096f6195c replace github.com/liushuichashe/golang => ./ (相对路径引用)

如果使用相对路径引用会保存,import "../learn1"。使用require引用其他模块,但是这个引用是要到远程git上拉取,但是项目内每次修改包内容push到远程git,调试效率比较低。解决方法可以使用replace方式把包名引用到相对路径里。
最后可以导入包名了(导入使用前先编译生成其它包)
import "github.com/liushuichashe/golang/learn1"
导入learn1会出现错误,原因是需要在goland IDE设置

在go编程里面,包名和go文件名可以不一样,但是导入是使用文件夹作为包名。
本文探讨了Golang项目中包引用的方法,包括使用go.mod文件通过require和replace指令进行依赖管理,以及如何在相对路径下引用本地包。特别讨论了在高版本Golang中gomod方式的优势和调试效率问题。
1059

被折叠的 条评论
为什么被折叠?



