Junior — Middle
Qual é a diferença entre usar um mapa e um slice em Go, e em que casos é mais adequado usar cada um?
sobes.tech IA
Resposta da IA
Em Go, map e slice servem para diferentes propósitos:
- map — matriz associativa, estrutura para armazenar pares chave-valor com acesso rápido por chave. As chaves são únicas.
- slice — matriz dinâmica, coleção ordenada de elementos, acesso por índice.
Quando usar:
- Use map se precisar encontrar elementos rapidamente por uma chave única, por exemplo, armazenar utilizadores por ID.
- Use slice se a ordem dos elementos for importante, ou se precisar armazenar um conjunto de elementos sem chaves, por exemplo, uma lista de tarefas.
Exemplo:
// map para armazenar notas de estudantes por nome
grades := map[string]int{"Alice": 90, "Bob": 85}
// slice para armazenar uma lista de nomes
names := []string{"Alice", "Bob", "Charlie"}
A escolha depende da tarefa: para busca por chave — map, para lista ordenada — slice.