Sobes.tech
Junior — Middle

Ar galima masyvus naudoti kaip raktus Map kolekcijoje?

sobes.tech AI

Atsakymas iš AI

Go kalboje raktai map kolekcijoje gali būti tik tie tipai, kurie palaiko palyginimo operaciją ==. Masyvai Go kalboje yra palyginami elementu po elementu, todėl fiksuotos ilgio masyvai gali būti naudojami kaip raktai.

Pavyzdys:

package main
import "fmt"

func main() {
    m := make(map[[3]int]string)
    key := [3]int{1, 2, 3}
    m[key] = "pavyzdys"
    fmt.Println(m[key]) // Išves: pavyzdys
}

Tačiau, slices ([]int) negali būti naudojami kaip raktai, nes jie nėra palyginami. Jei jums reikia kolekcijos su raktų pagrindu iš slices, turite juos konvertuoti į eilutę arba kitą palyginamą tipą.