Sobes.tech
Назад к вопросам
Junior — Middle
86

Можно ли применять массивы в качестве ключей в коллекции Map?

Компании, где спрашивали
Lamoda Tech

Ответ от нейросети

sobes.tech AI

В Go ключами в коллекции map могут быть только типы, которые поддерживают операцию сравнения ==. Массивы в Go сравнимы поэлементно, поэтому массивы фиксированной длины можно использовать в качестве ключей.

Пример:

package main
import "fmt"

func main() {
    m := make(map[[3]int]string)
    key := [3]int{1, 2, 3}
    m[key] = "example"
    fmt.Println(m[key]) // Выведет: example
}

Однако срезы ([]int) нельзя использовать как ключи, так как они не сравнимы. Если нужна коллекция с ключами, основанными на срезах, нужно использовать преобразование в строку или другой сравнимый тип.