I've got a trouble with conditional compilation in Go 1.
Here is my test code. Is there anything I misunderstand about the "// +build" constraint and the "-tags" flag?
main1.go
// +build main1 package main import ( "fmt" ) func main() { fmt.Println("This is main 1") }
main2.go
// +build main2 package main import ( "fmt" ) func main() { fmt.Println("This is main 2") }
when running "go build", I still got compile error
$ go build -tags 'main1' # test ./main2.go:8: main redeclared in this block previous declaration at ./main1.go:8
You must follow // +build XXX
with a blank line.
In my brief search, I couldn't find where/if this is documented. But the source clearly calls it out
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With