在mod模式下引入本地包的问题困扰我真的好久好久,查看无数资料,头疼几个晚上,经历无数次失败最终得以解决这个问题,按如下步骤操作
一、在桌面上新建文件夹testMod
二、右击文件夹用vscode打开,建立如下目录结构
go文件内容现在都是空的,目录结构如此就行
三、集成终端内打开,执行go mod int TestMod
说明一下,TestMod是和你的文件夹名字一致
四、之后向xxx1.go xxx2.go yyy1.go中添加如下内容
需要注意的是包名必须和你的目录名字一样,不一样就不行
五、 在main函数中使用
引入包的方式 根模块名/文件夹名 (文件夹名和包名是同名的) , main函数中的代码
六,最终的效果
运行main.go输出内容如下
七、总结
记住:只需要在项目的根目录下运行 go mod init 项目目录名,之前我每个包内都go mod init 一下,就出问题了,还有文件夹就是一个包,如xxx文件夹,下面文件的包名只能是xxx,(当然这个文件需要直属xxx文件夹,即中间不含文件夹 )即可,千万不能随意指定包名!!!必须和文件夹名字一致,收工~~