Sobes.tech
Junior — Middle

È possibile modificare il contenuto di un array passato come slice durante l'esecuzione del programma?

sobes.tech AI

Risposta dell'AI

Sì, il contenuto di un array passato come slice può essere modificato durante l'esecuzione del programma. Uno slice in Go è una struttura che contiene un puntatore a un array, una lunghezza e una capacità. Le modifiche agli elementi dello slice si riflettono nell'array originale, poiché lo slice punta ai suoi dati.

Esempio:

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

Pertanto, modificare uno slice modifica anche l'array originale.