Sobes.tech
Back to questions
Junior — Middle
78

Какие виды данных подходят для использования в качестве ключей в структуре Map?

Companies where asked
МТС DigitalМТС Digital

Answer from AI

sobes.tech AI

В Go ключами в структуре map могут быть только те типы, которые поддерживают операцию сравнения на равенство (== и !=). Это связано с тем, что для поиска значения по ключу необходимо сравнивать ключи.

Подходящие типы ключей:

  • Простые типы: int, float64, string, bool и т.д.
  • Указатели
  • Структуры, если все их поля сравнимы
  • Массивы, если элементы сравнимы

Нельзя использовать в качестве ключей:

  • Срезы (slice)
  • Карты (map)
  • Функции

Пример использования:

m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3

fmt.Println(m["apple"]) // 5

Если попытаться использовать срез в качестве ключа, компилятор выдаст ошибку.