Go多维切片赋值

使用php的思维直接赋值,结果直接报错

1
2
3
4
5
6
7
8
9
10
func main(){
var data [][]int
for i:=0;i<3;i++{
for j:=0;j<4;i++{
data[i][j] = i+j
}
}
fmt.Println(data)
}

结果直接报错

panic: runtime error: index out of range
goroutine 1 [running]:

看下正确的使用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
func main() {
var data [][]int
for i := 0; i < 3; i++ {
var row []int
for j := 0; j < 4; j++ {
row = append(row, i+j)
}
data = append(data, row)
}
fmt.Println(data) //[[0 1 2 3] [1 2 3 4] [2 3 4 5]]
}