首页 > 后端开发 > Golang > 为什么我不能在 Golang 中声明常量映射?

为什么我不能在 Golang 中声明常量映射?

Susan Sarandon
发布: 2024-11-14 20:48:02
原创
1036 人浏览过

Why can't I declare a constant map in Golang?

错误:Golang 对常量映射的限制

在 Golang 中,尝试像下面这样声明常量映射将导致错误:

const (
    running = map[string]string{
        "one": "ONE",
        "two": "TWO",
    }
)
登录后复制

原因限制

该错误源于 Golang 将常量值限制为特定类型。根据语言规范,只有以下内容可以声明为常量:

  • Rune
  • Integer
  • Floating-point
  • Imaginary
  • 字符串
  • 表示一个的标识符常量
  • 常量表达式
  • 内置函数的结果值(例如unsafe.Sizeof、cap、len、real、imag、complex)

映射的本质

数组、切片和映射不是包含在允许的常量类型列表中。虽然映射看起来与数组和切片类似,因为它们具有索引结构,但它们不被视为数字类型,因此不能声明为常量。

以上是为什么我不能在 Golang 中声明常量映射?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板