golang出现panic: runtime error: index out of range [0] with length 0(创建n阶矩阵时)

本打算创建一个n阶的二维数组:以下两种情况都试了但都会出现如图片中的错误

Go 复制代码
ans := make([][]int, n)//①
var ans [][]int //②

原因是初始化问题:

虽然创建了切片 ans,但是没有初始化其内部的切片。这会导致在尝试访问 ans[i][j] 等位置时出现 panic。

正确的初始化方法:

Go 复制代码
// 初始化矩阵
//主要是n阶二维数组实际上是由n个一维数组组成
    ans := make([][]int, n)//只声明了n个一维数组
    for i := range ans {
        ans[i] = make([]int, n)//对每个一维数组进行初始化
    }
相关推荐
Tisfy8 小时前
LeetCode 3498.字符串的反转度:一次遍历
leetcode·字符串·题解·遍历
a187927218318 小时前
【算法】树(二):队列与祖先——BFS 骨架三配件、短路透传与合流
算法·leetcode·二叉树··bfs·算法讲解·树遍历
Navigator_Z11 小时前
LeetCode //C - 1254. Number of Closed Islands
c语言·算法·leetcode
0+11114 小时前
算法 --二分查找
c++·算法·leetcode
圣保罗的大教堂14 小时前
leetcode 1674. 使数组互补的最少操作次数 中等
leetcode
kukubuzai15 小时前
双指针系列二--末尾篇(3道题)
c++·算法·leetcode
圣保罗的大教堂1 天前
leetcode 835. 图像重叠 中等
leetcode
wabs6661 天前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
hanlin031 天前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
0+1111 天前
算法 --滑动窗口
c++·算法·leetcode