繁体   English   中英

如何在Go中声明数组(或等效数组)

[英]How do I declare an array(or equivalent) in Go

我想做类似的事情(有效)

var myArray [9][3]int

但是当我这样做

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中的“数组”类型将长度作为类型的一部分,因此它们仅对长度在编译时固定的事物有用(类似于C99之前的C中的“数组”)。 如果您希望仅在运行时确定其长度的“数组”(例如Java中的数组),则您真正想要的是“切片”。 mepcotterell的答案向您展示了如何创建切片切片。

您也可能对通用矩阵包感兴趣:

gomatrix

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM