Avatar ·

Como criar compactamente um slice bidimensional (2D slice) em Go?

Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema ao trabalhar com slices bidimensionais. Preciso criar uma matriz, por exemplo, 3x4, para armazenar números inteiros. Em outras linguagens, eu simplesmente escrevo `int matrix[3][4]`, mas em Go isso não funciona.\n\nTentei fazer assim:\n\n```go\nmatrix := make([][]int, 3)\nfor i := range matrix {\n matrix[i] = make([]int, 4)\n}\n```\n\nIsso funciona, mas o código fica verboso. Para uma inicialização simples, preciso escrever um loop inteiro. Existe uma forma mais concisa? Talvez uma linha única ou uma função embutida?\n\nAdicionalmente: preciso que todos os elementos sejam preenchidos com zeros (ou outro valor padrão). E também — o que fazer se eu quiser criar um array irregular (jagged array), onde as linhas têm comprimentos diferentes? Por exemplo, a primeira linha — 3 elementos.