如何在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