2013-02-06 16 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ソースファイルは特別です(goビルドシステムの場合)。それらはgo testコマンド用に予約されています。