Go语言基础之数组两种方法各有优势:为什么必须用 for 循环? 当执行 dynamicMatrix := make([][]int, 3) 时,Go 只是在内存中分配了一个长度为 3 的外层切片,而它里面的每一个元素(类型是 []int )的默认零值都是 nil 。 如果省略了 for 循环,直接执行 dynamicMatrix[0][0] = 1 ,程序会直接引发 panic: index out of range (对 nil 切片进行索引赋值)。因此,遍历并初始化每一行是必不可少的步骤。