Go в примерах: Массивы (Arrays)

Массив в Go — это нумерованная последовательность элементов одного типа, с фиксированной длинной.

package main
import "fmt"
func main() {

В этом примере мы создали массив a, который будет содержать именно 5 элементов типа int. Тип данных и размер массива - обязательны при объявлении массива. По-умолчанию массив имеет нулевые значения элементов. Для int это 0.

    var a [5]int
    fmt.Println("emp:", a)

Мы можем установить значение элемента в массиве, используя индекс array[index] = value, также можно и получить значение элемента массива array[index].

    a[4] = 100
    fmt.Println("set:", a)
    fmt.Println("get:", a[4])

Встроенная функция len возвращает размер массива.

    fmt.Println("len:", len(a))

Используйте такой синтаксис, чтобы объявить и инициализировать массив одной строкой.

    b := [5]int{1, 2, 3, 4, 5}
    fmt.Println("dcl:", b)

Массив - это одномерный тип данных, но вы можете сделать массив многомерным сочетая несколько массивов.

    var twoD [2][3]int
    for i := 0; i < 2; i++ {
        for j := 0; j < 3; j++ {
            twoD[i][j] = i + j
        }
    }
    fmt.Println("2d: ", twoD)
}

Обратите внимание, что при использовании команды fmt.Println массивы выводятся в виде [v1 v2 v3 ...].

$ go run arrays.go
emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [1 2 3 4 5]
2d:  [[0 1 2] [1 2 3]]

В обычном Go вы будете видеть срезы гораздо чаще, чем массивы. Мы рассмотрим срезы далее.

Следующий пример: Срезы (Slices).