Golang 数据结构踩坑

Golang map数据类型与数组类型表现不一致


var fooMap map[string]string
var barSlice []string

func main(){
fooMap['a'] ="str1" // nil pointer panic
barSlice =append(barSlice, "str1")// will ok
}

在表现上基础的数据结构,slice和map表现不一致,slice可以通过append直接进行添加元素操作,作为相同的基础数据结构map却不能直接添加,从语言设计上面兵不应该出现这两种不一致的情况,也就是说要么map也添加一个store(map, key, val)的全局方法,要么就别出现map这种看是残缺的数据结构,并且fooMap['a']="str1"能够直接通过语法编译,导致从编译时可发现的问题转移到了运行时。

posted @ 2022-07-11 23:18  随风而行-  阅读(28)  评论(0编辑  收藏  举报