【发布时间】:2020-01-21 18:27:32
【问题描述】:
我正在学习 Go 以及如何构建一个合理复杂的 Go 项目。我似乎无法在以下问题上得到明确的答案。运行构建时,Go 会包含构建中的所有项目包,还是仅包含使用的那些?
示例:我正在开发一个框架,它在 /pkg 文件夹中有多个包。有些软件包用于管理目的,有些是非管理员的。非管理员服务将利用相关软件包来实现其功能,但不包括管理员服务。构建服务时,服务是否仅使用它从框架中使用的包构建?
谢谢!
【问题讨论】:
-
这个answer 显示了构建可能因包引用而导致的一些潜在膨胀——即使没有使用包方法/类型。
-
大部分膨胀是由于静态链接造成的。
-
“将在构建中包含所有项目包”,因为没有“项目”的概念,也没有“项目包”。这个问题很荒谬。
标签: go