【问题标题】:Why can't we declare a map and fill it after in the const?为什么我们不能声明一个地图并在 const 之后填充它?
【发布时间】:2017-07-20 15:50:32
【问题描述】:

为什么...为什么会产生错误? 是因为它重新分配映射以允许扩展还是仅仅因为编译器解析器不打算处理这些情况?

const (
        paths = &map[string]*map[string]string {
            Smith: {
                "theFather": "John",
            },
        }
        paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior"
)

【问题讨论】:

    标签: go constants


    【解决方案1】:

    Constants 被称为 constants 的原因是:您希望它们就是:constant

    type 定义了您可以对该类型的值执行哪些操作。 Go 中的map 类型不是常量,创建后可以更改其键值对,因此不能有map 常量。

    您可以从中选择常量的“调色板”在规范中定义:常量:

    布尔常量符文常量整数常量浮点常量复杂常量字符串常量

    查看相关问题:Declare a constant array

    解决方法很简单:将其声明为变量而不是常量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-09
      • 2014-11-09
      • 1970-01-01
      • 2020-07-28
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多