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 aoHashMap
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)