当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《这个数组init语法是什么意思?(带键的元素)》经验,为你挑选了1个好方法。

我最近发现了以下代码:

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示例中有一个)?



1> JimB..:

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

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

每个元素都有一个关联的整数索引,标记其在数组中的位置.

带键的元素使用键作为索引; 键必须是常量整数表达式.

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

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

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有