您现在的位置是:网站首页> 编程资料编程资料
Golang中 import cycle not allowed 问题的解决方法_Golang_
2023-05-26
956人已围观
简介 Golang中 import cycle not allowed 问题的解决方法_Golang_
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的函数

就像这种就不会有循环啦。
到此这篇关于Golang中 import cycle not allowed 问题的解决方法的文章就介绍到这了,更多相关golang中 import cycle not allowed 解决内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
- 如何解决django配置settings时遇到Could not import settings ''conf.local''
- Golang报“import cycle not allowed”错误的2种解决方法
- 详解golang避免循环import问题(“import cycle not allowed”)
- golang中import cycle not allowed解决的一种思路
- golang 之import和package的使用
- go各种import的使用方法讲解
- 对Golang import 导入包语法详解
- Golang import 导入包语法及一些特殊用法详解
- Golang import本地包和导入问题相关详解
- golang import自定义包方式
- 解决golang在import自己的包报错的问题
- 解决goland 导入项目后import里的包报红问题
- Go基础教程系列之import导入包(远程包)和变量初始化详解
相关内容
- golang 使用sort.slice包实现对象list排序_Golang_
- golang通过mysql语句实现分页查询_Golang_
- Golang空接口与类型断言的实现_Golang_
- go语言实现两个协程交替打印_Golang_
- Go批量操作excel导入到mongodb的技巧_Golang_
- 从零开始学Golang的接口_Golang_
- 浅谈go中cgo的几种使用方式_Golang_
- golang常用库之pkg/errors包第三方错误处理包案例详解_Golang_
- 文字解说Golang Goroutine和线程的区别_Golang_
- Go语言的type func()用法详解_Golang_
