Junior — Middle
Pode explicar o que é um slice na programação e como ele funciona?
sobes.tech IA
Resposta da IA
Um slice em Go é um fragmento dinâmico e mutável de um array. Ele é uma estrutura que contém:
- um ponteiro para o primeiro elemento do array,
- o comprimento (número de elementos no slice),
- a capacidade (o número máximo de elementos que o slice pode conter sem realocação).
Os slices permitem trabalhar com sequências de elementos sem a necessidade de copiar dados.
Exemplo de criação e uso de um slice:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // slice dos elementos com índices 1,2,3
fmt.Println(slice) // [2 3 4]
slice = append(slice, 6) // adiciona um elemento, se necessário uma nova memória é alocada
fmt.Println(slice) // [2 3 4 6]
Os slices são úteis porque podem ser criados a partir de existentes, alterar seu tamanho e passá-los para funções sem copiar todo o array.