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ą.