Dictionary 将值插入映射时出现死机/错误

Dictionary 将值插入映射时出现死机/错误,dictionary,go,initialization,panic,Dictionary,Go,Initialization,Panic,我有以下代码: 包干管 进口fmt 类型配置结构{ 用户字符串 传递字符串 B映射[string]int } func main{ conf:=newconfig conf.user=florence conf.pass=机器 //试图填充值为2的映射项x,但编译器抛出错误 conf.B[x]=2 格式打印F%+v,形态 } 我正在尝试向struct as field添加键为字符串、值为数字的映射,但我无法访问任何帮助?映射类型是引用类型,如指针或切片,因此上面的conf.B的值为零,因为它不指

我有以下代码:

包干管 进口fmt 类型配置结构{ 用户字符串 传递字符串 B映射[string]int } func main{ conf:=newconfig conf.user=florence conf.pass=机器 //试图填充值为2的映射项x,但编译器抛出错误 conf.B[x]=2 格式打印F%+v,形态 }
我正在尝试向struct as field添加键为字符串、值为数字的映射,但我无法访问任何帮助?

映射类型是引用类型,如指针或切片,因此上面的conf.B的值为零,因为它不指向初始化的映射。nil映射在读取时的行为类似于空映射,但尝试写入nil映射将导致运行时恐慌;不要那样做。要初始化映射,请使用内置的make函数:

conf.B=makemap[string]int
它编译。您遇到的是一个恐慌,即运行时错误和非编译时错误,因为映射未初始化。这意味着,要修复运行时错误,您需要首先初始化B字段,然后才能向其添加值。请浏览Go,它涵盖了所有语言基础知识,只需几分钟。例如,这里介绍了这一点: