在Go中,最佳实践是让包依赖于它们的子包还是相反? 显然,您不能同时拥有两者,因为这会引入循环依赖关系。
例如
└── a
├── a.go
├── b
└── b.go
a 应该依赖 b,还是 b 应该依赖 a?
我认为你可以同时使用这两种方法。包可以依赖于子包,子包可以依赖于父包,只要没有循环依赖。标准库中有一些示例,例如:
- 包
image
取决于image/color
,而包image/draw
取决于包image
。 - 包
encoding/gob
取决于包encoding
- 等。。。