arrays - 如何在 Go 中分配一个非常量大小的二维数组?

标签 arrays matrix go

<分区>

我想为二维数组分配空间,而且我想以干净的方式进行。

address [10]int
myLength := len(address)

// 1. but this not work at all
matrix := [myLength][myLength]byte

// 2. and this initializes 10 arrays with length 0
matrix := make([][]int, myLength, myLength)

第一次尝试时出现错误:

non-constant array bound l

PS 未解决:How to allocate a non-constant sized array in Go

最佳答案

没有“一个类轮”的方式来做到这一点。简单地做:

matrix := make([][]int, myLength)
for i : = 0; i < myLength; i++ {
   matrix[i] = make([]int, myLength)
}

关于arrays - 如何在 Go 中分配一个非常量大小的二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37267549/

相关文章:

java - 在 Java 中获取值

C - 求解魔方

go - 无法理解 5.6.1。警告 : Capturing Iteration Variables

c++ - OpenCV - float 据类型和强度范围在 0-255 内的 RGB channel

c - 从 PGM 文件 C 读取矩阵时出现问题

go - 在 Golang 中,如何使用 channel 处理多个 goroutine

go - 关闭加密 ssh session 以释放 golang 中所有资源的正确方法?

c - 如何在 C 中正确比较和打印出此数组中的匹配元素?

c++ - 在 C/C++ 中,对于数组 a,我刚刚了解到 (void*)&a == (void*)a。这是如何运作的?

java - 数组与 Java 集合框架中的任何集合之间的区别?