1.问题现象

Golang中 import cycle not allowed 的解决方法_问题分析

import cycle not allowed
cycle

2.问题分析

container_cloud/pkg/service
service

Golang中 import cycle not allowed 的解决方法_回滚_02

service

3.解决问题思路

虽然文件很多,但是看自己最近修改过的文件很少。

Golang中 import cycle not allowed 的解决方法_回滚_03

检查发现这两个文件是修改过的

Golang中 import cycle not allowed 的解决方法_数据库_04

然后看文件的头部的修改记录,不知道怎么看修改记录的可以回滚,只要文件没有提交就可以看到

Golang中 import cycle not allowed 的解决方法_回滚_05

4.如何破除依赖

service

Golang中 import cycle not allowed 的解决方法_问题分析_06

这种做法是特别不规范的。我们需要做的就是把这个对象拷贝一份,放到其他包里面

Golang中 import cycle not allowed 的解决方法_回滚_07

domain

5.问题回顾

Golang中 import cycle not allowed 的解决方法_数据库_08

刚刚的情况就类似于这种。

mapper
serviceservicemapper

Golang中 import cycle not allowed 的解决方法_问题分析_09

就像这种就不会有循环啦。