Массивы: объявление и инициализация

Объявление массива

Массив объявляется с фиксированным размером, который является частью типа:

var arr [5]int  // массив из 5 элементов типа int
  • Все элементы автоматически инициализируются нулевыми значениями (0 для int).
  • Размер массива нельзя изменить после объявления.

Способы инициализации

1. Объявление, затем присваивание

var arr1 [5]int
arr1 = [5]int{1, 2, 3, 4, 5}

2. Короткое объявление с инициализацией

arr2 := [3]int{10, 20, 30}

3. Автоматическое определение длины через ...

arr3 := [...]int{1, 2, 3, 4}  // компилятор сам определит длину = 4
  • Многоточие ... говорит компилятору посчитать элементы самому.
  • Длина определяется по количеству значений в {}.

Важно: размер — часть типа

Массивы разной длины имеют разные типы:

arr31 := [3]int{1, 2, 3}
arr32 := [2]int{4, 5}

// arr31 = arr32  // ❌ ОШИБКА: нельзя присвоить — разные типы!
  • [3]int и [2]intразные типы.
  • Нельзя присвоить один другому напрямую.
  • Нельзя передать [3]int в функцию, ожидающую [5]int.

Получение длины массива

arr := [5]int{10, 20, 30, 40, 50}
fmt.Println(len(arr))  // 5

Функция len() возвращает количество элементов.