如何解决此错误“ runtime.main:未定义的main.init”

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 test command.