如下函数
```go
func (this *GenPic) ShowPicMini() {
for i := 0; i < 4; i++ {
for y := 0; y < len(this.picMiniBox[i][0]); y++ {
for x := 0; x < len(this.picMiniBox[i]); x++ {
fmt.Println("|", i, x, y, len(this.picMiniBox), len(this.picMiniBox[i]), len(this.picMiniBox[i][0]))
if this.picMiniBox[i][x][y] == 0 { //这里报错
fmt.Printf("0")
} else {
fmt.Printf("1")
}
}
fmt.Printf("\n")
}
fmt.Printf("\n")
}
}
```
已下是输出信息
```
0| 0 26 0 4 40 40
0| 0 27 0 4 40 40
0| 0 28 0 4 40 40
0| 0 29 0 4 40 40
0| 0 30 0 4 40 40
0| 0 31 0 4 40 40
0| 0 32 0 4 40 40
0| 0 33 0 4 40 40
panic: runtime error: index out of range
```
首先,你传指针,也没把写入的代码贴出来,鬼知道你怎么申请的空间,怎么写入的数据;
另外,三维数组[i][y][x],你先判断最里层的数组长度[i][y],然后判断中间一层的长度[i],你能确定,最里层的arr[i][y]的数组元素个数都相等么;
最后一个问题,数组还是切片。
#3
更多评论