Junior — Middle
Je možné použiť pole ako kľúče v kolekcii Map?
sobes.tech AI
Odpoveď od AI
V Go môžu byť kľúče v kolekcii map iba typy, ktoré podporujú operáciu porovnania ==. Polia v Go sú porovnateľné po prvkoch, takže pevne dané dĺžky poľa môžu byť použité ako kľúče.
Príklad:
package main
import "fmt"
func main() {
m := make(map[[3]int]string)
key := [3]int{1, 2, 3}
m[key] = "príklad"
fmt.Println(m[key]) // Vypíše: príklad
}
Avšak, slices ([]int) nemôžu byť použité ako kľúče, pretože nie sú porovnateľné. Ak potrebujete kolekciu s kľúčmi založenými na slices, musíte ich konvertovať na reťazec alebo iný porovnateľný typ.