我目前正在努力完成出色的“围棋之旅”。我使用以下解决方案完成了其中一项练习(#45):
func Pic(dx, dy int) [][]uint8 {
pic := make([][]uint8, dy) /* type declaration */
for i := range pic {
pic[i] = make([]uint8, dx) /* again the type? */
for j := range pic[i] {
pic[i][j] = uint8((i+j)/2)
}
}
return pic
}
我不明白为什么我必须使用两次make
该uint8
类型的语句(请参见摘要中的注释)。这似乎是多余的,但我不知道该怎么做。
dx*dy
to的容量。通过立即分配所需的内存,是否有助于提高性能?pic
pic := make([][]uint8, dy, dx*dy)