Цикл по многомерным срезам в Go
Срез срезов обходят двумя циклами. Внешний идет по строкам, внутренний - по местам текущей строки, поэтому строки могут быть разной длины. Сумму копят с нуля:
grid := [][]int{{1, 2}, {3, 4}}
sum := 0
for i := 0; i < len(grid); i++ {
for j := 0; j < len(grid[i]); j++ {
fmt.Println(grid[i][j])
sum += grid[i][j]
}
}
fmt.Println(sum) // выведет 10
Дан следующий срез:
grid := [][]int{{1, 2, 3}, {4, 5, 6}}
Найдите сумму всех чисел и выведите ее.
Дан трехмерный срез:
block := [][][]int{
{{1, 2}, {3, 4}},
{{5, 6}, {7, 8}},
}
Найдите сумму всех чисел и выведите ее.