我试图在Go中实现一个矩阵。我有一个结构:用n个元素的数组初始化结构体
type Matrix struct {
n, m int
rows [][]int
}
目前,行只是一片切片。因为我知道每个数组的大小我想要存储,似乎我应该能够使用大小为n和m的数组。有没有正确的方法来声明行是一个大小为n的数组,其中包含大小为m的数组,在n和m是给定值之前?
我试图在Go中实现一个矩阵。我有一个结构:用n个元素的数组初始化结构体
type Matrix struct {
n, m int
rows [][]int
}
目前,行只是一片切片。因为我知道每个数组的大小我想要存储,似乎我应该能够使用大小为n和m的数组。有没有正确的方法来声明行是一个大小为n的数组,其中包含大小为m的数组,在n和m是给定值之前?
编号数组在编译时需要固定大小。如果仅在运行时才知道n和/或m,则必须使用切片/切片。
可以声明大小:http://play.golang.org/p/BPharxQYfL
上面的简单的例子示出了Matrix.row是如何zero'd出在类型声明中指示的大小。
恐怕没有办法做到这一点。这是一个切片的用例。如果你喜欢,你可以使用一个尺寸为n * m的切片来节省空间。 – fuz