Sobes.tech
Назад к вопросам
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 в качестве ключа использовать нельзя.