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