Arrays 如何在Go中声明数组(或等效数组)
我想做一些事情,比如(它是有效的) 但当我这么做的时候Arrays 如何在Go中声明数组(或等效数组),arrays,go,slice,Arrays,Go,Slice,我想做一些事情,比如(它是有效的) 但当我这么做的时候 var myArray [someIntVariable][anotherOne]int 它不能被使用(我知道为什么,所以我不是问这个。) 但有没有其他办法可以让这一切顺利进行 对不起,我的英语不好。以下内容对你有用吗 func make2dArray(m, n int) [][]int { myArray := make([][]int, m) for i := range myArray { myArra
var myArray [someIntVariable][anotherOne]int
它不能被使用(我知道为什么,所以我不是问这个。)
但有没有其他办法可以让这一切顺利进行
对不起,我的英语不好。以下内容对你有用吗
func make2dArray(m, n int) [][]int {
myArray := make([][]int, m)
for i := range myArray {
myArray[i] = make([]int, n)
}
return myArray
}
var myArray := make2dArray(someIntVariable, anotherOne)
您还可以对通用矩阵包感兴趣: Go中的“array”类型包括长度作为类型的一部分,因此它们只适用于长度在编译时固定的情况(类似于C99之前的C中的“array”)。如果您想要长度仅在运行时确定的“数组”(例如Java中的数组),那么您真正想要的是一个“切片”。Mepcotterrel的回答向您展示了如何创建切片
func make2dArray(m, n int) [][]int {
myArray := make([][]int, m)
for i := range myArray {
myArray[i] = make([]int, n)
}
return myArray
}
var myArray := make2dArray(someIntVariable, anotherOne)