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{})で初期化します。