【发布时间】:2013-05-31 15:12:30
【问题描述】:
我在step 35 in the tour of Go 练习中遇到了一些问题。
我的代码如下所示:
package main
import "code.google.com/p/go-tour/pic"
func Pic(dx, dy int) [][]uint8 {
var pic = make([][]uint8, dy)
for y := 0; y < dy; y++ {
pic[y] = make([]uint8, dx)
for x := 0; y < dx; x++ {
pic[y][x] = uint8(x*y)
}
}
return pic
}
在寻找解决方案时,我发现 PeterSO's 代码完美运行
func main() {
pic.Show(Pic)
}
func Pic(dx, dy int) [][]uint8 {
pixels := make([][]uint8, dy)
for y := 0; y < dy; y++ {
pixels[y] = make([]uint8, dx)
for x := 0; x < dx; x++ {
pixels[y][x] = uint8(x * y)
}
}
return pixels
}
我能看到的唯一区别是,我使用var 关键字定义pic 变量,而他的代码使用:= 赋值。现在,为什么我的代码不起作用?
【问题讨论】:
标签: go indexoutofboundsexception