Junior — Middle
Lehet-e másik Map-ot kulcsként használni egy Map-ben?
sobes.tech MI
Válasz az MI-től
В 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 в качестве ключа использовать нельзя.