Trying run a simple hello world go program returns an error.
# command-line-arguments
runtime.main: undefined: main.init
runtime.main: undefined: main.main
The file contents:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
main is obviously defined and adding func init() {} doesn’t help.
Both the run and build commands result in the same error.
go build hello_test.go
go run hello_test.go
Rename hello_test.go to e.g. hello.go and it should work as expected. Go source files ending in _test are special (for the go build system). They’re reserved for the
go testcommand.