Back to questions
Junior — Middle
83
Какие свойства и требования к ключам в структуре данных map?
Answer from AI
sobes.tech AI
В Go ключи в структуре данных map должны удовлетворять следующим требованиям:
- Ключи должны быть сравнимыми (comparable). Это значит, что тип ключа должен поддерживать операцию сравнения
==и!=. Например, базовые типы (int, string, bool), указатели, интерфейсы с сравнимыми значениями подходят. - Нельзя использовать срезы (slice), карты (map), функции (func) в качестве ключей, так как они не сравнимы.
Пример создания map с ключами типа string:
m := make(map[string]int)
m["one"] = 1
m["two"] = 2
Если попытаться использовать несравнимый тип, например, срез, компилятор выдаст ошибку:
var s []int
m := make(map[[]int]string) // ошибка: invalid map key type []int
Таким образом, ключи должны быть таких типов, которые можно сравнивать для корректной работы map.