ExpertiDict

Go · Avançado · Inglês · Técnico

full slice expression

/fʊl slaɪs ɪkˈspɹɛʃən/substantivo

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

Veja também

Todos os termos de Go