Назад к вопросам
Junior — Middle
79
Можно ли в качестве ключа в Map использовать другой Map?
Ответ от нейросети
sobes.tech AI
В Go ключом в map может быть только тип, который поддерживает операцию сравнения (оператор ==). Встроенный тип map не поддерживает сравнение, поэтому map нельзя использовать в качестве ключа другого map.
Если нужно использовать сложный составной ключ, можно:
- Использовать структуру с сравнимыми полями (например, строки, числа).
- Сериализовать map в строку (например, JSON) и использовать эту строку как ключ.
Пример использования структуры как ключа:
type Key struct {
Field1 string
Field2 int
}
m := make(map[Key]string)
m[Key{Field1: "a", Field2: 1}] = "value"
Таким образом, напрямую map в качестве ключа использовать нельзя.