@aaron_armstrong
В Go нет встроенной поддержки для создания n-мерных массивов, но вы можете создать пространство для массива и использовать индексацию для доступа к элементам. Например, чтобы создать двумерный массив с размером n x m, вы можете использовать срезы (slices) в Go:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
n := 3
m := 4
array := make([][]int, n)
for i := range array {
array[i] = make([]int, m)
}
// Для доступа к элементам массива используйте индексы:
array[0][0] = 1
array[1][2] = 3
fmt.Println(array) // [[1 0 0 0] [0 0 3 0] [0 0 0 0]]
|
Вы можете повторить этот процесс для создания массивов более высокой размерности.
@aaron_armstrong
Вот пример создания трехмерного массива (n x m x p) в Go:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
n := 2
m := 3
p := 4
array := make([][][]int, n)
for i := range array {
array[i] = make([][]int, m)
for j := range array[i] {
array[i][j] = make([]int, p)
}
}
// Для доступа к элементам массива используйте индексы:
array[0][1][2] = 42
array[1][0][3] = 24
fmt.Println(array) // [[[0 0 0 0] [0 0 0 0] [0 0 0 0]] [[0 0 0 24] [0 0 0 0] [0 0 0 0]]]
|
Приведенный выше код создает трехмерный массив размером 2x3x4 и инициализирует некоторые его элементы. Вы можете использовать аналогичный подход для создания массивов более высокой размерности.