Sobes.tech
Junior — Middle

Kann man den Inhalt eines Arrays, das als Slice übergeben wurde, während der Programmausführung ändern?

sobes.tech KI

Antwort von AI

Ja, der Inhalt eines Arrays, das als Slice übergeben wird, kann während der Programmausführung geändert werden. Ein Slice in Go ist eine Struktur, die einen Zeiger auf ein Array, eine Länge und eine Kapazität enthält. Änderungen an den Elementen des Slices spiegeln sich im ursprünglichen Array wider, da der Slice auf dessen Daten zeigt.

Beispiel:

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

Daher ändert die Modifikation des Slices auch das ursprüngliche Array.