登录
首页 >  Golang >  Go问答

如何正确使用构建标签?

来源:Golang技术栈

时间:2023-05-03 18:41:11 320浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《如何正确使用构建标签?》,这篇文章主要会讲到golang等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

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

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

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

配置.go:

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

config.debug.go:

// +build debug
package build
const DEBUG = true

然后我应该能够使用go buildor构建go build -tags debug,并且标签应该 excludeconfig.go和 include config.debug.go

...但这不起作用。我得到:

src/build/config.go:3:在此块 () 中重新声明了 DEBUG,之前在 src/build/config.debug.go:3 的声明

我究竟做错了什么?

我应该使用另一种更合适的#ifdef 风格的方法吗?

正确答案

请参阅[我对另一个问题的回答](https://stackoverflow.com/questions/10646531/golang- conditional-compilation/10649653#10649653)。您需要在该行之后有一个空// +build行。

此外,您可能想要!在 config.go 中,而不是在 config.debug.go 中;并且大概你想要一个是“DEBUG = false”。

本篇关于《如何正确使用构建标签?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>