转到条件代码的编译器标志

时间:2015-06-30 16:17:58

标签: go compilation

我是Go的新手,作为一名前C ++程序员,我对如何在Go中执行此操作感到有些困惑。 我想添加一个编译时标志,我可以在其中包含一些测试代码。

我尝试使用-ldflags,但无法超越单个变量。

这就是我尝试过的:-ldflags "X main.var1 var1_value" "X main.var2 var2_value"

我在这里做对了吗?

1 个答案:

答案 0 :(得分:4)

考虑使用build constraints而不是-X标志。这允许您通过执行类似

的操作来有条件地编译任何代码
go install -tags 'foo bar'

如果您仍想多次使用-X标志,请执行以下操作:

go install -ldflags '-X main.Foo 1 -X main.Bar 2' main.go

或(Go {1.5}中的added and recommended

go install -ldflags '-X main.Foo=1 -X main.Bar=2' main.go