企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# **Map值为nil的坑** 下面的代码会正常工作: ```go aMap := map[string]int{} aMap["test"] = 1 ``` 然而下面的代码是不能工作的,因为你将`nil`赋值给map: ```go aMap := map[string]int{} aMap = nil fmt.Println(aMap) aMap["test"] = 1 ``` 将以上代码保存至`failMap.go`,执行后会产生下面的错误信息(事实上,如果你用IDE编程,IDE就会提醒你有错误): ```bash $ go run failMap.go map[] panic: assiment to entry in nil map ``` 这意味着试图向nil map中插入值是不行的,但是查找、删除、长度以及使用range循环是可以的。