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