如何在go语言中定义一个二维数组
最近刚学了go的基础,打算通过刷算法题去巩固自己的基础语法。发现很多题都是要用二维数组解决的,于是就仔细研究了一下go语言二维数组的用法。
二维数组的定义
a := [3][2] int {
{1,2},
{3,4},
{5,6},
}
当然这时候我们已经对二维数组进行了赋值,但是我们在很多时候只是想定义一个二维数组,不进行赋值,我们可以这样做。
a := [3][2] int { }
但是这样还会出现问题,我们定义二维数组很多时候都不是一个确定值,而是传两个参数,根据
参数来确定二维数组的大小。于时我就想到了这样做。
a := [x][y] int { } //go语言中定义数组必须是确定的值,变量是不可以定义的
这种做法是错误的,编译根本通不过。如果真的想实现用变量定义一个二维数组,我们可以通过切片来实现!定义方法如下:
dp := make([][]int,x)
for i := 0; i < x;i++ {
dp[i] = make([]int,y)
}