接口声明的区别

时间:2017-03-19 17:26:39

标签: go

作为一名初学者,我很难理解:

之间的区别
m := map[string]interface{}{}

m := make(map[string]interface{})

我试图找到一个解释,但找不到任何东西。

1 个答案:

答案 0 :(得分:0)

两者都相同,只是在使用make时,您可以(当然可以选择)指定您尝试初始化的地图的大小。

例如,

m := make(map[string]interface{}, 10)

此外,当您初始化这样的地图文字时 -

m := map[string]interface{}{}

您可以随时为其添加值。在这种情况下,您已将其初始化为nil地图。如果你想创建一个你希望将来能够添加东西的地图(即append),你应该使用第一种方法或将其初始化为

var m map[string]interface{}