20210131关于golang交叉(循环)引用的问题(1) - ziyouzy/2021blog GitHub Wiki

最重要的原则是如果形成了一个“圈”是绝对不可以的:

a->b, b->c, c->d,..., z->a

虽然可以修改配置让编译允许循环引用,但是原则上不可以,就和不能乱用goto一样

另一种情况是:

a->b, b->c, a->b
或
a->b, b->c, c->d, d->e, e->f, 且a->e, b->e, c->e, 且d->f, e->f

这种未形成循环但是错综复杂的引用情况
唯一的原则到底是不是只要不形成一个“圈”就行呢?

找到了篇超好的文章,后续接着分析:

https://libuba.com/2020/11/02/golang%E5%8C%85%E5%BE%AA%E7%8E%AF%E5%BC%95%E7%94%A8%E7%9A%84%E5%87%A0%E7%A7%8D%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/