做力扣时,发现go语言对二维数组的操作和我想得有些出入,只好记录一下。
一、初始化一个二维数组
这种写法是可以的:
res:=[2][2]int{}
以下这种写法会报错:
m:=2
n:=2
res:=[m][n]int{}
所以要像以下方法这么定义:
m:=2
n:=2
res:=make([][]int,m)
for i:=range res{
res[i]=make([]int,n)
}
唔,我甚至有点怀念c++。
二、给定一个二维数组,判断长和宽
假设给定res数组是3*4的,如何用程序判断出长和宽呢?
res := [3][4]int{{1,2,3,4},{1,2,3,4},{1,2,3,4}}
fmt.Println(len(res)) //这是打印第一个维度,本例子为3
fmt.Println(len(res[i])) //这是选取某一行,并打印长度,i不越界即可,每一行的长度都等于数组长度