本文へスキップ
BecomeCoder

Goのエラー · エラー5

assignment to entry in nil map ― nil マップへの書き込み(実行時 panic)

make していないマップ(nil)に値を入れると落ちます。読み取りはできるのに書き込みで落ちるのが罠です。

出るコード

var m map[string]int   // nil のまま
m["a"] = 1             // nil マップへの代入

エラーメッセージ

panic: assignment to entry in nil map

直し方

使う前に m := make(map[string]int)(または m := map[string]int{})で初期化します。