Sobes.tech
Junior — Middle

Lze pole použít jako klíče v kolekci Map?

sobes.tech AI

Odpověď od AI

V Go mohou být klíče v kolekci map pouze typy, které podporují operaci porovnání ==. Pole v Go jsou porovnatelné po prvcích, takže pevně dané délky pole lze použít jako klíče.

Příklad:

package main
import "fmt"

func main() {
    m := make(map[[3]int]string)
    key := [3]int{1, 2, 3}
    m[key] = "příklad"
    fmt.Println(m[key]) // Vypíše: příklad
}

Nicméně, slices ([]int) nelze použít jako klíče, protože nejsou porovnatelné. Pokud potřebujete kolekci s klíči založenými na slices, musíte je převést na řetězec nebo jiný porovnatelný typ.