我是Go的新手,作为一名前C ++程序员,我对如何在Go中执行此操作感到有些困惑。 我想添加一个编译时标志,我可以在其中包含一些测试代码。
我尝试使用-ldflags
,但无法超越单个变量。
这就是我尝试过的:-ldflags "X main.var1 var1_value" "X main.var2 var2_value"
。
我在这里做对了吗?
答案 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