Sobes.tech
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.