今回はgolangで「use of untyped nil in variable declaration」というエラーが出たときの原因と解決策について紹介していきます。
目次
golangで「use of untyped nil in variable declaration」というエラーが出た
golangで開発を行っていると「use of untyped nil in variable declaration」というエラーに遭遇します。
変数にnilを入れようとすると発生しがちなエラーですが、具体的にどのような際に発生するか原因をみていきましょう。
「use of untyped nil in variable declaration」の原因
他とれば以下のコードのように型を指定していない変数aに対してnillを代入しようとしています。
func main() {
var a = nil
fmt.Println(a)
}
この実行結果は以下となります。
main.go:6:10: use of untyped nil in variable declaration
nillはポインタ、マップ、スライスのゼロ値として使用することができますが、変数aは型が不明であるため、コンパイラーが型を推測できないため、エラーとなってしまいます。
「use of untyped nil in variable declaration」の対処法
このエラーを解消するにはnilを入れられる型を宣言する必要があります。
以下のようにint型のスライスである変数aを宣言して、それにnilを代入します。
func main() {
var a []int = nil
fmt.Println(a)
}
スライスはnilを入れることができるため、エラーは発生せずコンパイルが成功します。
実行結果は[]が出力されます。
golangをもっと詳しくなりたい方に
golang学習のために筆者が実際に受講したUdemy教材をまとめています。
golang学習のために筆者が実際に読んでおすすめしたい本をまとめています。
【入門】golangの学習におすすめの本/書籍7選
これから業務でgolangを使うことになった方、これからgolangを使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。 ...