Bedingte Golang-Kompilierung

Ich habe Probleme mit der bedingten Kompilierung in Go 1.

Hier ist mein Testcode. Gibt es irgendetwas, was ich an der Einschränkung "// + build" und dem Flag "-tags" falsch verstehe?

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")
}

Beim Ausführen von "go build" ist immer noch ein Kompilierungsfehler aufgetreten

$ go build -tags 'main1'
# test
./main2.go:8: main redeclared in this block
        previous declaration at ./main1.go:8

Antworten auf die Frage(4)

Ihre Antwort auf die Frage