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.