本打算创建一个n阶的二维数组:以下两种情况都试了但都会出现如图片中的错误
ans := make([][]int, n)//①
var ans [][]int //②
原因是初始化问题:
虽然创建了切片 ans
,但是没有初始化其内部的切片。这会导致在尝试访问 ans[i][j]
等位置时出现 panic。
正确的初始化方法:
// 初始化矩阵
//主要是n阶二维数组实际上是由n个一维数组组成
ans := make([][]int, n)//只声明了n个一维数组
for i := range ans {
ans[i] = make([]int, n)//对每个一维数组进行初始化
}