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