Массивы: объявление и инициализация
Объявление массива
Массив объявляется с фиксированным размером, который является частью типа:
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() возвращает количество элементов.