Sobes.tech
Назад к вопросам
Senior
6

Какой тип данных может быть ключом в словаре?

Компании, где спрашивали
Ozon ФинтехOzon Финтех

Ответ от нейросети

sobes.tech AI

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

В разных языках это может означать разные ограничения, но обычно ключами могут быть:

  • Примитивные типы: строки, числа, булевы значения
  • Кортежи или структуры, если все их поля сравнимы
  • Указатели

В Go, например, ключом map может быть любой тип, который можно сравнивать с помощью оператора ==, то есть не могут быть срезы, карты, функции, так как они не сравнимы.

Пример в Go:

m := make(map[string]int)
m["key"] = 42

// Структура с сравнимыми полями
type Point struct {
    X, Y int
}

m2 := make(map[Point]string)
m2[Point{1,2}] = "A"

Таким образом, ключи должны быть неизменяемыми и сравнимыми типами.