Назад к урокам

Массивы в Go

Урок объясняет, что такое массивы в Go, как они создаются, инициализируются, как получать и изменять элементы, как выполнять итерации и что произойдёт при выходе за границы массива.

Начинающий8 min

🗂 Массивы в Go

Массивы - это способ хранить фиксированное количество элементов одного и того же типа. Каждый элемент массива находится по индексу, начиная с 0. Массивы хранят данные последовательно в памяти и всегда имеют фиксированный размер.


📌 Что такое массив?

  • Хранит несколько значений одного типа.
  • Имеет фиксированную длину.
  • Каждый элемент называется элемент массива.
  • Доступ осуществляется через индекс, начиная с 0.

🛠 Создание массива

var myArray [3]int

Инициализация значениями:

myArray := [3]int{7, 8, 9}

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

myArray := [...]int{7, 8, 9}

Если количество элементов меньше длины массива - остальные получат значения по умолчанию:

myArray := [4]int{7, 8, 9} // последний = 0

📥 Доступ к элементам массива

var myArray [3]int

myArray[0] = 7
myArray[1] = 8
myArray[2] = 9

item := myArray[0]

🔁 Итерация массива

Рекомендуется присваивать элемент переменной для улучшения читаемости:

for i := 0; i < len(myArray); i++ {
    item := myArray[i]
    fmt.Println(item)
}

🚫 Ошибки выхода за пределы массива

Попытка обращения к элементу вне границ массива вызывает ошибку:

Ошибка во время выполнения:

var myArray [3]int

for i := 0; i < 10; i++ {
    fmt.Println(myArray[i]) // ошибка при i >= 3
}

Ошибка времени компиляции:

var myArray [3]int
myArray[3] = 10 // индекс 3 вне диапазона 0–2

📘 Итоги

  • Массивы хранят элементы одного типа.
  • Размер массива фиксирован и задаётся при создании.
  • Доступ к элементам осуществляется по индексу.
  • Обращение за пределы массива вызывает ошибку.
  • Элементы, не инициализированные явно, получают значения по умолчанию.
  • Для итерации используется len() в цикле for.