gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:14:32 24 4
gpt4 key购买 nike

我最近发现了下面的代码:

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)?

最佳答案

对于数组或 slice 文字,索引值必须是常量。来自 "composite literals" 上的文档

For array and slice literals the following rules apply:

  • Each element has an associated integer index marking its position in the array.
  • An element with a key uses the key as its index; the key must be a constant integer expression.
  • An element without a key uses the previous element's index plus one. If the first element has no key, its index is zero.

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

关于go - 这个数组初始化语法是什么意思? (带键的元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34547457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com