当前位置: 首页 > 面试题库 >

如何正确使用构建标签?

狄睿
2023-03-14
问题内容

我需要能够构建go应用程序的不同版本;“调试”版本和普通版本。

这很容易做到;我只是有一个const DEBUG,它控制应用程序的行为,但是每次我需要在构建类型之间进行交换时,都必须编辑配置文件,这很烦人。

我正在阅读有关go
build(http://golang.org/pkg/go/build/)和标签的信息,我想也许我可以这样做:

config.go:

// +build !debug
package build
const DEBUG = false

config.debug.go:

// +build debug
package build
const DEBUG = true

然后,我应该能够使用“ go build”或“ go build -tags
debug”进行构建,并且标签应排除config.go并包含config.debug.go。

…但这是行不通的。我得到:

src / build / config.go:3:在此块(<0>)中先前src / build /
config.debug.go:3处重新声明了调试。

我究竟做错了什么?

我应该使用另一种更合适的#ifdef样式来做到这一点吗?


问题答案:

请参阅我对另一个问题的回答。您需要在“ // + build”行之后留空行。

另外,您可能想要“!” 在config.go中,而不是在config.debug.go中;并且可能您希望其中一个是“ DEBUG = false”。



 类似资料:
  • 所以这就是我试过的。有更好的方法吗?

  • 我正在尝试使用maven-assembly-plugin构建我的Spring Boot应用程序的一个包罗万象的fat jar。我运行mvn clean包,没有创建jar。我做错了什么? 我的POM:

  • 问题内容: 我正在尝试使用Bokeh而不是matplotlib复制此问题中显示的HeatMap。我不能完全正确。现有的示例并没有帮助我了解我在做什么错。我卑微的尝试 给 请注意,尽管标题相似,但这并不能回答我的问题。这不是相同的错误,我正在使用Bokeh 0.12.3 问题答案: 更改数据的生成以按元素重复,并且它应该是正确的: 因此,适用于我的代码如下:

  • 问题内容: 我有一个包含单个模块和一些依赖项的项目。我想在一个包含编译模块的单独目录中创建一个jar。另外,我想在模块旁边提供依赖项。 无论我如何扭曲IntelliJ的“构建jar”过程,模块的输出都将显示为空(除了META-INF文件之外)。 问题答案: 这是使用IntelliJ 10构建jar的方法http://blogs.jetbrains.com/idea/2010/08/quickly-

  • 请注意:在泽维尔的回答之后编辑的回答 我试图在Android Studio中为一个相同的应用程序项目使用不同的构建风格。然而,我似乎有一个可怕的时间配置它适当地工作。 步骤: null **我检查了分级设置,显然使用自动导入已经启用。尽管如此,对build.gradle文件进行更改不会自动更新构建变体。注意:我还尝试使用Build-Rebuild项目和/或Build-Make项目。我仍然必须关闭项

  • 问题内容: 其中哪一个是正确的? 问题答案: 工作正常,并正确关闭标签。最好为视障人士添加属性。