Go · Avançado · Inglês · Técnico
full slice expression
Fatiamento de três índices, a[i:j:k], que também limita a capacidade do resultado e impede o append de escrever no array original além de k.
Onde usar
Usado em APIs que devolvem sub-slices de um buffer interno, para o chamador não corromper o resto do buffer com um append.
Em código
a := []int{1, 2, 3, 4}
b := a[0:2]
c := a[0:2:2]
b = append(b, 99)
c = append(c, 77)
fmt.Println(a, b, c)Exemplos
Use a full slice expression so append can't overwrite our buffer.
Use uma full slice expression para o append não sobrescrever nosso buffer.
The third index caps the capacity of the new slice.
O terceiro índice limita a capacidade do novo slice.
Cuidado
O k não pode passar da capacidade do slice original, e limitar a capacidade não copia os dados: o início ainda é compartilhado.
Sinônimos
fatiamento de três índices