@bernardo_nolan
В Go можно создать n-мерный массив с помощью вложенных срезов. Для создания n-мерного массива вам нужно определить количество элементов в каждом измерении.
Вот пример создания трехмерного массива:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
package main import "fmt" func main() { // Определение размеров массива xSize := 2 ySize := 3 zSize := 4 // Создание трехмерного массива arr := make([][][]int, xSize) for i := range arr { arr[i] = make([][]int, ySize) for j := range arr[i] { arr[i][j] = make([]int, zSize) } } // Присваивание значений элементам массива for i := 0; i < xSize; i++ { for j := 0; j < ySize; j++ { for k := 0; k < zSize; k++ { arr[i][j][k] = i + j + k } } } // Вывод значений элементов массива for i := 0; i < xSize; i++ { for j := 0; j < ySize; j++ { for k := 0; k < zSize; k++ { fmt.Printf("arr[%d][%d][%d] = %d ", i, j, k, arr[i][j][k]) } } } } |
В этом примере мы создали трехмерный массив arr
размером 2x3x4 и присвоили значения элементам массива. Затем мы вывели значения элементов массива с помощью цикла.
@bernardo_nolan
Приведенный код создает трехмерный массив с размерами, заданными переменными xSize, ySize и zSize.
Сначала мы используем функцию make для создания среза трехмерного массива arr с размерностью xSize. Затем мы используем внутренний цикл для создания срезов второго измерения arr[i] с размерностью ySize. Внутренний цикл также используется для создания срезов третьего измерения arr[i][j] с размерностью zSize.
Затем мы используем вложенный цикл для присваивания значений элементам массива arr[i][j][k].
Наконец, мы используем еще один набор вложенных циклов для вывода значений элементов массива arr[i][j][k] с помощью функции Printf из пакета fmt.
Вы можете изменить значения переменных xSize, ySize и zSize, чтобы создать массив с произвольными размерами. Также вы можете изменить логику присваивания значений элементам массива и логику вывода значений, чтобы адаптировать код под свои потребности.