为什么......为什么会产生错误? 是因为它重新分配地图以允许扩展,还是因为编译器解析器不是为了处理这些情况?
const (
paths = &map[string]*map[string]string {
Smith: {
"theFather": "John",
},
}
paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior"
)
答案 0 :(得分:2)
Constants被称为常量,原因如下:您希望它们只是:常量。
类型定义了您可以对该类型的值执行的操作。 Go中的map类型不是常量,您可以在创建后更改其键值对,因此您不能拥有map
常量。
选择常量的“调色板”在Spec:Constants:
中定义有布尔常量,符文常量,整数常量,浮点常量,复数常量和字符串常量。
请参阅相关问题:Declare a constant array
解决方法很简单:将其声明为变量而不是常量。