Junior — Middle
É possível modificar o conteúdo de um array passado como slice durante a execução do programa?
sobes.tech IA
Resposta da IA
Sim, o conteúdo de um array passado como slice pode ser alterado durante a execução do programa. Um slice em Go é uma estrutura que contém um ponteiro para um array, um comprimento e uma capacidade. As alterações nos elementos do slice refletem-se no array original, pois o slice aponta para os seus dados.
Exemplo:
package main
import "fmt"
func modifySlice(s []int) {
s[0] = 100
}
func main() {
arr := [3]int{1, 2, 3}
slice := arr[:]
modifySlice(slice)
fmt.Println(arr) // Vai imprimir: [100 2 3]
}
Assim, modificar um slice também modifica o array original.