在Go中,最佳做法是让软件包依赖于子软件包还是相反?显然你不能同时拥有两者,因为这会引入循环依赖。
例如
└── a
├── a.go
├── b
└── b.go
应该依赖于b,还是应该依赖于?
答案 0 :(得分:4)
我认为你可以使用这两种方法。包可能依赖于子包,并且子包可能依赖于父包,只要没有循环依赖。标准库中有一些例子,例如:
image
取决于image/color
,而包image/draw
取决于包image
。encoding/gob
取决于包encoding