同じディレクトリに以下のような感じのコードを書いておくと……
a.go
package main
func main() {
}
b.go
package main
func main() {
}
$ go build
./b.go:3: main redeclared in this block
previous declaration at ./a.go:3
とか出力される。練習で同じディレクトリに複数のコードを書いてたのだけど、パッケージとして見てる(のかな?)ので重複してmain書いてるよ~ってことなのかな。