簡體   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