In golang I am able to set compiler directives in the first line comment of a file to determine whether the code on that file is included in the build based on OS or arch, e.g
to target windows:
// +build windows
or non-windows:
// +build !windows
Is there any way to pass in my own boolean variable at build time to operate in the same way?
The background is that I would like a boolean debug flag which I can pass in to do a debug build, I don't want my debug code included in the normal build.
I currently do something like this:
go build -ldflags "-X main.Debug=true"
but I would prefer to use 1st line comment method particularly as this approach doesn't omit debug code from the build (I presume).
Ideally I want:
debug-on.go
// +build debug
package debug
func Debug() bool {
return true
}
and debug-off.go
// +build !debug
package debug
func Debug() bool {
return false
}
Update RE duplicate I accept the related question has the same subject matter but it's really not a duplicate question, that is a question from somebody who already knew about this feature but is struggling with implementation.
My 2 cents is that it seems the equivalent of "What language to people speak in France?" vs "How do you say 'This is not a duplicate' in French?"