Sobes.tech
Junior — Middle

Kun je de inhoud van een array die als slice is doorgegeven tijdens de uitvoering van het programma wijzigen?

sobes.tech AI

Antwoord van AI

Ja, de inhoud van een array die als slice wordt doorgegeven, kan tijdens de uitvoering van het programma worden gewijzigd. Een slice in Go is een structuur die een pointer naar een array, een lengte en een capaciteit bevat. Wijzigingen aan de elementen van de slice worden weerspiegeld in de oorspronkelijke array, omdat de slice naar de gegevens ervan wijst.

Voorbeeld:

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) // Geeft weer: [100 2 3]
}

Dus, het wijzigen van een slice wijzigt ook de oorspronkelijke array.