Back to questions
МТС Digital
Junior — Middle
78
Какие виды данных подходят для использования в качестве ключей в структуре Map?
Companies where asked
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
Если попытаться использовать срез в качестве ключа, компилятор выдаст ошибку.