Какие ключи можно хранить в map?

Ключ map в Go должен быть сравнимым: подходят числа, строки, указатели, каналы и сравнимые массивы/структуры. Срезы, map и функции ключами быть не могут.

Короткий ответ

Что ответить на собеседовании

Ключ map в Go должен быть сравнимым: подходят числа, строки, указатели, каналы и сравнимые массивы/структуры. Срезы, map и функции ключами быть не могут.

Подробный разбор

Ответ с пояснениями

Ключ map в Go должен быть сравнимым: подходят числа, строки, указатели, каналы и сравнимые массивы/структуры. Срезы, map и функции ключами быть не могут.

У структуры все поля должны поддерживать сравнение, у массива — тип элементов. Интерфейс может быть типом ключа, но конкретное значение внутри него тоже должно быть сравнимым; иначе операция вызовет panic. Выбирайте ключ, отражающий идентичность данных, а не только формально допустимый тип.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее