Back to questions
Middle+
4
Можно ли использовать структуры как ключи в map?
Companies where asked
WaterWal
Answer from AI
sobes.tech AI
В Go структуры можно использовать как ключи в map, если они удовлетворяют требованиям сравнимости (comparable). Это значит, что все поля структуры должны быть сравнимыми типами (например, базовые типы, строки, указатели, другие сравнимые структуры).
Если структура содержит срезы, карты, функции или другие несравнимые типы, то использовать её как ключ нельзя.
Пример использования структуры как ключа:
type Point struct {
X, Y int
}
m := make(map[Point]string)
m[Point{X: 1, Y: 2}] = "A"
Здесь Point состоит из двух int, которые сравнимы, поэтому структура тоже сравнима и может быть ключом.