golang 中的全局数组

我试图声明一个全局数组,然后像这样初始化它:


package main


import (

  "fmt"

)

var testStrings []string


func main() {

  testStrings = [...]string{"apple","banana","kiwi"}

  fmt.Println(testStrings)

}

但我收到错误:“不能使用 [3] 字符串文字(类型 [3] 字符串)作为赋值中的 [] 字符串类型”


如何在不指定大小的情况下声明全局数组?


扬帆大鱼
浏览 800回答 2
2回答

当年话下

[...]表示一个数组。[]表示切片。换一个。例如:package mainimport (    "fmt")var arrtestStrings [3]stringvar slicetestStrings []stringfunc main() {    arrtestStrings = [...]string{"apple", "banana", "kiwi"}    slicetestStrings = []string{"apple", "banana", "kiwi"}    fmt.Println(arrtestStrings)    fmt.Println(slicetestStrings)}

牛魔王的故事

从Go 规范:该符号...指定数组长度等于最大元素索引加一。这对您的代码不起作用,因为它testStrings是一个slice,而不是一个array(阅读arrays 和 slices 之间的区别)。删除...将修复您的程序:testStrings = []string{"apple","banana","kiwi"}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go