問題
Goである関数からmap型の変数(厳密な型はmap[string]interface{})を受け取ったあと、その変数にstring型をkey, valueとする値を代入しようとした所「assignment to entry in nil map」というエラー文と共にpanicになってしまいました。
原因
map型の場合はゼロ値がnilなので、次の様にmap型を宣言するとnilがm
に代入される。
var m map[string]string
なので次の様に初期化しないと
m = map[string]string{}
keyを指定して値を代入したときにnil参照になってしまうようです。
m["hoge"] = "fuga" // error: assignment to entry in nil map
参考文献