Junior — Middle
Quais as características únicas dos slices na linguagem Go?
sobes.tech IA
Resposta da IA
Os slices em Go são vistas dinâmicas e modificáveis de sequências de elementos de um array. Características únicas dos slices:
- Tamanho dinâmico: ao contrário dos arrays, os slices podem alterar o comprimento durante a execução.
- Referência a um array: um slice contém um ponteiro para o array base, bem como seu comprimento e capacidade.
- Capacidade e comprimento: o comprimento é o número de elementos no slice, a capacidade é o número máximo de elementos que o slice pode conter sem alocar nova memória.
- Cópia de slices: copiar um slice copia a estrutura, mas não os dados, ou seja, ambos os slices referenciam o mesmo array.
Exemplo de criação de um slice:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // slice com elementos 2,3,4