开发者社区 问答 正文

golang中给map赋值报错是为什么

如下main函数中,给map赋值运行报错

package main

import "fmt"

func main()  {
	var test map[string]string
	test["name"]="jyd"
	fmt.Println(test)
}

报错如下

panic: assignment to entry in nil map

goroutine 1 [running]:
main.main()
        /Users/jiangyd/mygo/src/hb.go:21 +0x4f
exit status 2

展开
收起
道月芬1 2021-10-19 07:33:02 660 分享 版权
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    您好,golang中map是引用类型,应用类型的变量未初始化时默认的zero value是nil。直接向nil map写入键值数据会导致运行时错误。

    2021-10-19 08:35:15
    赞同 1 展开评论
问答分类:
Go
问答地址: