Back to questions
Junior — Middle
84
Можно ли применять массивы в качестве ключей в коллекции Map?
Companies where asked
Lamoda Tech
Answer from AI
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) нельзя использовать как ключи, так как они не сравнимы. Если нужна коллекция с ключами, основанными на срезах, нужно использовать преобразование в строку или другой сравнимый тип.