为了账号安全,请及时绑定邮箱和手机立即绑定

这个数组初始化语法是什么意思?(带键的元素)

这个数组初始化语法是什么意思?(带键的元素)

Go
ITMISS 2021-12-06 15:05:15
我最近发现了下面的代码:var noEscape = [256]bool{    'A': true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,    'a': true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,    '0': true, true, true, true, true, true, true, true, true, true,    '-': true,    '.': true,    '_': true,    '~': true,}我知道默认情况下这[N]bool是用 N false(零)初始化的。如果指定了后跟冒号的索引,则可以从索引(包括)中定义值。在哪里描述的?哪些类型可以用作索引值(char示例中有 a )?
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

对于数组或切片文字,索引值必须是常量。来自“复合文字”的文档

对于数组和切片文字,以下规则适用:

  • 每个元素都有一个关联的整数索引来标记它在数组中的位置。

  • 带有键的元素使用键作为索引;键必须是一个常量整数表达式。

  • 没有键的元素使用前一个元素的索引加一。如果第一个元素没有键,则其索引为零。

示例中的文字字符是无类型常量,恰好被写成单个符文文字。如果您将这些值中的任何一个分配给用作索引的变量,则代码将无法编译。


查看完整回答
反对 回复 2021-12-06
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信