如何在源文件中设置构建标记

时间:2018-10-15 18:34:15

标签: go build

新功能。我熟悉在源文件中使用构建标记的能力,例如:

// +build linux arm,!linux

但是有什么方法可以在源文件中创建/导出构建标签?像这样:

// +build +custom_tag_name

我正在尝试执行-tags参数在源文件中执行的操作,而不是将其添加到makefile中,以便在将库添加到项目中时,它将“设置”某些可在其他文件。

1 个答案:

答案 0 :(得分:0)

您不能那样做。源文件只能对其自身设置构建约束,它们不能满足约束。约束只能按照说明来满足-由环境隐式满足,或通过-tags标志显式满足。构建约束是实现对环境敏感的条件编译的一种方式。使用一个源文件来控制另一个源文件的构建并没有任何意义。您在构建时就知道文件A是否在构建中,因此您知道文件B是否应在构建中。这似乎是XY问题,可能可以通过类似于SQL驱动程序的机制(在init函数中注册处理程序)或类似的机制更好地解决?