🌺每天分享一些包括但不限于计算机基础、算法等相关的知识点🌺
💗点关注不迷路,总有一些📖知识点📖是你想要的💗
⛽️今天的内容是 go常见问题import cycle not allowed ⛽️💻💻💻
曾有人建议作者之一的Rob Pike,在以后的Go版本去掉不允许循环引入的问题;Rob Pike则认为这样设计可以:
- 加快编译速度
- 规范框架设计,使项目结构更加清晰明了
-
没有支持循环引用:目的是迫使 Go 程序员更多地考虑程序的依赖关系。
-
保持依赖关系图的简洁。
-
快速的程序构建。
-
-
如果支持循环引用:很容易会造成懒惰、不良的依赖性管理和缓慢的构建。这是设计者不希望看见的。
-
混乱的依赖关系。
-
缓慢的程序构建
-
如果在项目中出现循环引用问题,很大程度是因为设计之初就没考虑好模块的划分。
解决循环引用的方法
- 将循环引用的方法或者函数抽象成接口;
- 新建一个公共包,将涉及的函数或方法放到公共包当中;