Sobes.tech
Senior

Que tipos de dados podem ser usados como chave para um mapa? Pode-se usar um array como chave?

sobes.tech IA

Resposta da IA

No Go, a chave para um mapa pode ser qualquer tipo que suporte a operação de comparação == e !=. Isso significa que as chaves podem ser tipos básicos (int, string, bool, etc.), ponteiros, estruturas se todos os seus campos forem comparáveis, e também interfaces se o tipo dinâmico for comparável.

Os arrays em Go são comparáveis se seus elementos forem comparáveis, portanto, arrays podem ser usados como chaves em mapas. Por exemplo:

m := make(map[[3]int]string)
 m[[3]int{1, 2, 3}] = "valor"

No entanto, slices não podem ser usados como chaves, pois não são comparáveis (exceto quando comparados a nil).