Sobes.tech
Junior — Middle

Pode explicar o princípio de funcionamento dos slices na linguagem de programação?

sobes.tech IA

Resposta da IA

Uma fatia (slice) em Go é uma visão dinâmica e mutável de uma sequência de elementos do mesmo tipo. Ela contém:

  • um ponteiro para um array,
  • o comprimento (número de elementos na fatia),
  • a capacidade (o número máximo de elementos que pode conter sem alocar nova memória).

As fatias permitem trabalhar com partes de arrays ou criar novas sequências dinâmicas sem copiar dados.

Exemplo:

arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // fatia de elementos com índices 1,2,3: [2 3 4]

fmt.Println(s) // [2 3 4]

s = append(s, 6) // adiciona um elemento, se a capacidade permitir, a fatia se expande

As fatias são úteis porque permitem trabalhar com dados de forma eficiente, sem copiar arrays, e alterar dinamicamente o tamanho da sequência.