Основы Go
2026-02-26 22:26 Diff

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

Объявление среза структур

Срез структур можно объявить так же, как и срез базовых типов:

Добавление новых элементов

Элементы добавляются с помощью append:

Изменение значений внутри среза

Так как срез хранит копии структур, при изменении элемента важно помнить о передаче по значению. Например:

Изменение произойдет напрямую, так как мы работаем с элементом по индексу.

Срез указателей на структуры

Если нам нужно хранить и изменять объекты по ссылке, можно использовать срез указателей:

Использование указателей полезно, если структуры большие и их копирование неэффективно.

Поиск и фильтрация

Для поиска элементов в срезе структур можно использовать обычные циклы: