Sobes.tech
Junior — Middle

É possível usar arrays como chaves numa coleção Map?

sobes.tech IA

Resposta da IA

No Go, as chaves na coleção map podem ser apenas tipos que suportam a operação de comparação ==. Os arrays em Go são comparáveis elemento por elemento, portanto arrays de comprimento fixo podem ser usados como chaves.

Exemplo:

package main
import "fmt"

func main() {
    m := make(map[[3]int]string)
    key := [3]int{1, 2, 3}
    m[key] = "exemplo"
    fmt.Println(m[key]) // Vai imprimir: exemplo
}

No entanto, slices ([]int) não podem ser usados como chaves, pois não são comparáveis. Se precisar de uma coleção com chaves baseadas em slices, deve convertê-los para string ou outro tipo comparável.