我有与围棋1条件编译麻烦。

这是我的测试代码。 我有什么误解有关“// +打造”约束和“标签都有效”标志?

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

跑“去建”的时候,我还有编译错误

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