golang中(slice)变量初始值设定项中[…]的含义是什么?

golang中(slice)变量初始值设定项中[…]的含义是什么?,go,Go,我在浏览stdlib时,特别是遇到了这段代码,它的任务是对前面定义的uint8枚举进行字符串表示 var stateNames = [...]string{ stateText: "stateText", stateTag: "stateTag", //... many more elided stateCSSBlockCmt: "stateCSSBlockCmt", stateCSSLineCmt: "stateCSSLineC

我在浏览stdlib时,特别是遇到了这段代码,它的任务是对前面定义的uint8枚举进行字符串表示

var stateNames = [...]string{
    stateText:        "stateText",
    stateTag:         "stateTag",
//... many more elided 
    stateCSSBlockCmt: "stateCSSBlockCmt",
    stateCSSLineCmt:  "stateCSSLineCmt",
    stateError:       "stateError",
  }

我对初始值设定项的[…]语法感兴趣。在该语法中,是否有比简单的var stateNames=[]字符串{}更重要的含义

好的,正如我应该做的那样,我把它放在操场上,初始化变量,然后调用fmt.Printf%T,stateNames,并得到[25]字符串


事实证明,这定义了一个数组,而不是一个切片,数组的初始化长度自动设置为定义的项数。干净利落

好的,正如我应该做的那样,我把它放在操场上,初始化变量,然后调用fmt.Printf%T,stateNames,并得到[25]字符串

事实证明,这定义了一个数组,而不是一个切片,数组的初始化长度自动设置为定义的项数。干净利落