Junior — Middle
Могат ли масивите да се използват като ключове в колекцията Map?
sobes.tech AI
Отговор от AI
В Go ключовете в колекцията map могат да бъдат само типове, които поддържат операцията за сравнение ==. Масивите в Go са сравними по елемент по елемент, затова масивите с фиксирана дължина могат да се използват като ключове.
Пример:
package main
import "fmt"
func main() {
m := make(map[[3]int]string)
key := [3]int{1, 2, 3}
m[key] = "пример"
fmt.Println(m[key]) // Ще изведе: пример
}
Обаче, срезовете ([]int) не могат да се използват като ключове, тъй като не са сравними. Ако имате нужда от колекция с ключове, базирани на срезове, трябва да ги преобразувате в низ или друг сравним тип.