Sobes.tech
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.