Нашел ошибку в листинге, в уроке по массивам.

Сашиндионикус Третий

Пользователь
Пользователь
Апр 7, 2020
5
7
3
По адресу https://golangs.org/array . В листинге №8 присутствует ошибка. При выполнении данного кода, мы получаем билиберду.

C-подобный:
var board [8][8]string // Массив из восьми массивов с восемью строками
 
board[0][0] = "r"
board[0][7] = "r" // Ставит ладью на клетку с координатами [ряд][столбец]
 
for column := range board[1] {
    board[1][column] = "p"
}
 
fmt.Print(board)

На выходе получаем это.
[[r r] [p p p p p p p p] [ ] [ ] [ ] [ ] [ ] [ ]]
В качестве доказательства, ссылка на плейграунд
Как в идеале должен выглядеть этот код? Заранее благодарю за ответ.
 

semyon-dev

Пользователь
Пользователь
Апр 18, 2020
2
5
3
Почему же "билиберду"?) Это двумерный массив. Здесь ошибок не вижу. Разберем данный код. В строке номер 10 мы в 0 столбец 0 строки заносим "r". Тоже самое и в 11 строке, меняется только номер элемента, он здесь 7. В 14 строке мы циклом заполняем 1 "подмассив" (по индексу). А все остальное - пустое. Надеюсь понятно объяснил ;)
форум.png
 

Форум IT Специалистов