<分区>
我是 golang 的新手,我正在尝试创建一个类型为 map[string]interface{} 的映射。
但是当我尝试创建一个不存在的新 key 时,我会收到运行时错误“ panic :分配给 nil 映射中的条目”。谁能告诉我我做错了什么?
去 Playground :https://play.golang.org/p/vIEE0T11yl
这是我的代码:
package main
func main() {
buffer := Buffer{}
buffer.AddRecord("myKey", 12345)
}
type Buffer struct {
records map[string][]interface{}
}
// ProcessRecord adds a message to the buffer.
func (buffer *Buffer) AddRecord(key string, record interface{}) {
_, ok := buffer.records[key]
if !ok {
buffer.records[key] = make([]interface{}, 0)
}
buffer.records[key] = append(buffer.records[key], record)
}