2013-02-06 168 views
22

尝试运行一个简单的hello world go程序会返回一个错误。如何解决此错误“runtime.main:undefined main.init”

# command-line-arguments 
runtime.main: undefined: main.init 
runtime.main: undefined: main.main 

文件内容:

package main  
import "fmt" 
func main() { 
    fmt.Println("Hello, World!") 
} 

main显然是定义并添加func init() {}没有帮助。

这两个runbuild命令导致相同的错误。

go build hello_test.go 
go run hello_test.go 
+2

除非是单元测试文件,否则您可能不想以'_test'结尾命名文件。 –

回答

27

将hello_test.go重命名为例如hello.go,它应该按预期工作。以_test结尾的源文件是特殊的(用于构建系统)。它们保留用于go test命令。