Pular para o conteúdo principal

Arrays, slices e maps

Arrays

  • Tamanho fixo, definido na declaração
  • Menos comum em Go, pois slices são mais flexíveis

Exemplo

var numeros [3]int = [3]int{1, 2, 3}
fmt.Println(numeros[0]) // Saída: 1

Comparação com Java

Arrays em Go são semelhantes aos arrays de Java (int[]), mas menos usados devido aos slices

Slices

  • Estrutura dinâmica, baseada em arrays, mas com tamanho variável
  • Declarados com []tipo ou criados com make

Exemplo

Carregando editor interativo...
Nota

Slices são passados por referência, mas o array subjacente pode ser copiado se modificado

Maps

  • Estrutura chave-valor, semelhante ao HashMap em Java
  • Declarados com map[tipoChave]tipoValor

Exemplo

Carregando editor interativo...
Caso de uso

Slices são ideais para listas dinâmicas (ex: lista de usuários), enquanto maps são úteis para associações rápidas (ex: cache de IDs para valores)