Avatar ·

如何在Go中紧凑地创建二维切片(2D slice)?

大家好!我刚开始学习Go,在处理二维切片时遇到了问题。我需要创建一个矩阵,例如3x4,用来存储整数。在其他语言中,我只需写`int matrix[3][4]`,但在Go中这样不行。 我尝试过这样做: ```go matrix := make([][]int, 3) for i := range matrix { matrix[i] = make([]int, 4) } ``` 这能工作,但代码显得冗长。为了简单的初始化,不得不写一个完整的循环。有没有更简洁的方法?也许有一行代码的写法或内置函数? 另外:我需要所有元素都填充为零(或其他默认值)。还有——如果我想创建一个“锯齿”数组(jagged array),其中每行长度不同,该怎么办?例如,第一行3个元素,第二行5个,第三行2个。 提前感谢帮助!我当前尝试的代码示例: ```go package main import "fmt" func main() { // 希望能更紧凑一些... row