我有這么一段代碼:fmt.Scanf("%dx%d", &sizex, &sizey) var grid [sizex][sizey]int我目前收到“非常量數(shù)組綁定 sizex”錯誤。如何創(chuàng)建具有用戶選擇的維度的數(shù)組?當然,我不想以后修改它的大小,但我顯然不能使用常量。
1 回答

拉風的咖菲貓
TA貢獻1995條經驗 獲得超2個贊
我認為你正在尋找;
grid := make([][]int, sizex)
for i := 0; i < len(grid) i++ {
grid[i] = make([]int, sizey)
}
這有點像new在 C++ 詩歌中使用關鍵字“在堆棧上”分配。要在您的問題中使用聲明,大小參數(shù)必須是編譯時已知的值。
在上面的例子中make只適用于第一維,給了我一個數(shù)組[]int數(shù)組,但是,這些數(shù)組都沒有被初始化,所以我必須遍歷網格并使用 調用 makesizey來分配第二個維度。
- 1 回答
- 0 關注
- 222 瀏覽
添加回答
舉報
0/150
提交
取消