Go Package依赖关系布局

时间:2017-07-22 02:01:53

标签: go dependency-management

在Go中,最佳做法是让软件包依赖于子软件包还是相反?显然你不能同时拥有两者,因为这会引入循环依赖。

例如

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

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

1 个答案:

答案 0 :(得分:4)

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

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