重构项目的时候,费劲巴拉的把一堆冗余的switch case拆开到一个个单独的go文件里了,结果编译的时候出现了import cycle not allowed
。
项目里一大堆目录看着烦得要死,还得去看到底哪里没搞对,检索了一下发现是我把代码分到两个目录下,但是原本的代码逻辑是两部分会互相调用的,搞得两个 package 的依赖关系直接就出现循环了。
现在就是 A 依赖 B,B 依赖 A,就两个包也能整出来环真的无语。检索了一下解决方法,看了一堆发现最好理解的还是把其中一个包(比方说A)提供的函数抽成一个接口,放到 package C中,则依赖关系变为 A 依赖 B和C,B 依赖 C,勉强是解决了。但是不知道这样胡乱整出来的方案会不会搞乱项目的结构😣
还有一些其他的解决方法,暂时没心情记了。主要是项目代码稍微多一点之后,要改的这块我不熟悉,简单的重构整理一下代码逻辑也只能凭感觉来做,做起来也老闹心了😭😭😭
才发现设计也非常重要啊,不单要学语言,设计模式什么的也要多积累点经验🥺