今回はgolangで「non-declaration statement outside function body」というエラーが出たときの原因と解決策について紹介していきます。
目次
golangで「non-declaration statement outside function body」というエラーが出た
golangで開発を行っていると「non-declaration statement outside function body」というエラーに遭遇します。
「non-declaration statement outside function body」を直訳すると「関数本体外の非宣言文」となります。この原因と対処法を順番に紹介していきます。
「non-declaration statement outside function body」の原因
このエラーは同一ファイルで複数のpackageを定義していると発生します。
package main
package mainB
import "fmt"
func main() {
a:=0
fmt.Println(a)
}
golangでは1ファイルにつき1つのパッケージしか定義でないため、このままコンパイルを行うと以下のエラーが発生します。
main.go:2:1: syntax error: non-declaration statement outside function body
「non-declaration statement outside function body」の対処法
このエラーを解消するには1ファイルには1つのパッケージ定義とするように修正します。
複数のパッケージを定義したい場合は、複数のファイルに分けて記載するようにしましょう。
package main
import "fmt"
func main() {
a := 0
fmt.Println(a)
}
golangをもっと詳しくなりたい方に
golang学習のために筆者が実際に受講したUdemy教材をまとめています。
あわせて読みたい


【入門】golangの学習におすすめのUdemy教材5選
これから業務でgolangを使うことになった方、これからgolangを使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。 ...
golang学習のために筆者が実際に読んでおすすめしたい本をまとめています。
あわせて読みたい


【入門】golangの学習におすすめの本/書籍7選
これから業務でgolangを使うことになった方、これからgolangを使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。 ...