Golang轻松解决循环依赖

如果你通过go vet检查代码,或者编译代码时,显示循环依赖的报错,它大概长这样子:

package code/app/user/service
        imports code/app/system/service
        imports code/app/user/service: import cycle not allowed

如果你没有类似的报错,你只得到一个包名code/app/user/service你可以使用命令让他显示上面的报错。

go list code/app/user/service

得到报错之后,你需要搜索代码中导入此包code/app/user/service的那行代码,最重要的是搜索范围,范围为code/app/system/service包的目录,也就是service

你会搜索到导入包的那一行代码,然后搜索该包在该文件中哪些地方使用了,修改代码实现,不再导入此包,问题就会解决。

后记

我遇到这个问题之后,参考了很多文章,他们都推荐了一些显示包依赖关系的可视化工具,我觉得不如go自带的工具方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deng_Xian_Shemg

捐助1元钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值