golang不允许循环导包,如果检测到import cycle,会在编译时报错,通常import cycle是因为设计错误或包的规划问题。
import(
"package A"
"package B"
)
如果package A中已经导入package B,而本package中又导入package B
或者 package A依赖package B,同时 package B 依赖package A
这样就会在编译时报 "import cycle not allowed"。
如何避免重复导入包的问题,就需要在设计时规划好包。