Назад к вопросам
Junior — Middle
93
Какое отличие между использованием мап и слайса в Go, и в каких случаях предпочтительнее применять каждый из них?
Компании, где спрашивали
Ecom.tech
GsmSoft
Ответ от нейросети
sobes.tech AI
В Go map и slice служат для разных целей:
- map — ассоциативный массив, структура для хранения пар ключ-значение с быстрым доступом по ключу. Ключи уникальны.
- slice — динамический массив, упорядоченная коллекция элементов, доступ по индексу.
Когда использовать:
- Используйте map, если нужно быстро находить элементы по уникальному ключу, например, хранить пользователей по ID.
- Используйте slice, если важен порядок элементов, или нужно хранить набор элементов без ключей, например, список задач.
Пример:
// map для хранения оценок студентов по имени
grades := map[string]int{"Alice": 90, "Bob": 85}
// slice для хранения списка имен
names := []string{"Alice", "Bob", "Charlie"}
Выбор зависит от задачи: для поиска по ключу — map, для упорядоченного списка — slice.