В настоящее время я прорабатываю отличный Tour of Go . Я закончил одно из упражнений (# 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
дважды (см. комментарии во фрагменте). Это кажется излишним, но я не могу понять, как это сделать по-другому.