Junior — Middle
Que tipos de dados são adequados para uso como chaves numa estrutura Map?
sobes.tech IA
Resposta da IA
No Go, as chaves numa estrutura map podem ser apenas tipos que suportem a operação de comparação de igualdade (== e !=). Isto deve-se ao facto de que, para procurar um valor por chave, é necessário comparar as chaves.
Tipos de chaves adequados:
- Tipos simples:
int,float64,string,bool, etc. - Ponteiros
- Estruturas, se todos os seus campos forem comparáveis
- Arrays, se os seus elementos forem comparáveis
Não é possível usar como chaves:
- Slices (
slice) - Maps (
map) - Funções
Exemplo de uso:
m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3
fmt.Println(m["apple"]) // 5
Se tentar usar um slice como chave, o compilador irá gerar um erro.