Sobes.tech
Junior — Middle

Como é que se podem adicionar elementos a um slice existente sem o recriar?

sobes.tech IA

Resposta da IA

No Go, para adicionar elementos a um slice existente sem recriá-lo, usa-se a função incorporada append. Ela adiciona novos elementos ao slice, aumentando sua capacidade se necessário. Se a capacidade atual do slice permitir, um novo slice não é criado, e os elementos são simplesmente adicionados ao array existente.

Exemplo:

slice := []int{1, 2, 3}
slice = append(slice, 4, 5) // adicionando elementos 4 e 5
fmt.Println(slice) // [1 2 3 4 5]

Se a capacidade for insuficiente, append criará um novo array e retornará um novo slice, portanto, é importante atribuir o resultado de volta à variável do slice.