Golang中 import cycle not allowed 问题的解决方法
作者:峰啊疯了 时间:2024-04-25 15:13:38
1.问题现象
go编译的时候报错import cycle not allowed
cycle
意思很简单就是循环的意思。代表的就是一个包被循环的导入。
2.问题分析
这个错是在container_cloud/pkg/service
这里出现的,说明这个包被循环导入。
可是service
这个包文件太多怎么检查呢?
可以看到这个service
包下面的文件特别多。
3.解决问题思路
虽然文件很多,但是看自己最近修改过的文件很少。
检查发现这两个文件是修改过的
然后看文件的头部的修改记录,不知道怎么看修改记录的可以回滚,只要文件没有提交就可以看到
4.如何破除依赖
检查发现是service
调用了mapper的数据库方法,然后mapper里面用到service的一个对象
这种做法是特别不规范的。我们需要做的就是把这个对象拷贝一份,放到其他包里面
放到domain
这个包下,于是依赖解除。
5.问题回顾
刚刚的情况就类似于这种。
如果A必须调用B中的函数,那么我们就破除B对A的依赖,把对A的那部分提出来就行啦,就像刚刚小编不小心在mapper
当中去用
service
的对象。只能service
调用mapper
的函数
就像这种就不会有循环啦。
来源:https://blog.51cto.com/u_12040959/5140229
标签:Golang,import,cycle,not,allowed,问题,解决,方法
0
投稿
猜你喜欢
网站重构 CSS样式表的优化技巧
2009-05-12 11:51:00
PHP Session条件竞争超详细讲解
2023-06-03 12:49:00
SQL Server 触发器 表的特定字段更新时,触发Update触发器
2024-01-25 09:32:20
mysql设置远程访问数据库的多种方法
2024-01-23 05:26:45
python merge、concat合并数据集的实例讲解
2023-01-23 16:30:38
python实现的简单抽奖系统实例
2022-05-11 16:14:05
后工业时代的后规范思考2——如何应用
2009-06-05 12:35:00
通过Python实现控制手机详解
2021-04-21 12:10:37
python单元测试框架pytest的使用示例
2023-01-20 05:59:27
SQL Server 2008中的新日期数据类型
2009-03-16 15:05:00
js网页滚动条滚动事件实例分析
2024-04-28 09:38:19
python dataframe向下向上填充,fillna和ffill的方法
2021-11-07 18:16:47
Java字符串 正则表达式详解
2023-07-16 12:30:35
解析Go 中的 rune 类型
2023-09-19 11:59:16
tensorflow tf.train.batch之数据批量读取方式
2023-12-08 01:11:51
PyCharm+PyQt5+QtDesigner配置详解
2023-09-11 12:40:03
Python3中常用的处理时间和实现定时任务的方法的介绍
2022-05-13 09:25:25
挑战! 纯Javascript 重现经典网游! <魔力宝贝>
2008-10-04 10:37:00
JavaScript 异步方法队列链实现代码分析
2024-04-22 13:26:14
import的本质解析
2023-07-12 07:09:24