转到包依赖项布局



在Go中,最佳实践是让包依赖于它们的子包还是相反? 显然,您不能同时拥有两者,因为这会引入循环依赖关系。

例如

└── a
├── a.go
├── b
   └── b.go

a 应该依赖 b,还是 b 应该依赖 a?

我认为你可以同时使用这两种方法。包可以依赖于子包,子包可以依赖于包,只要没有循环依赖。标准库中有一些示例,例如:

  1. image取决于image/color,而包image/draw取决于包image
  2. encoding/gob取决于包encoding
  3. 等。。。

最新更新