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