Junior — Middle
Puoi spiegare cos'è un slice in programmazione e come funziona?
sobes.tech AI
Risposta dell'AI
Uno slice in Go è un frammento dinamico e modificabile di un array. Rappresenta una struttura che contiene:
- un puntatore al primo elemento dell’array,
- la lunghezza (numero di elementi nello slice),
- la capacità (numero massimo di elementi che lo slice può contenere senza ridistribuzione).
Gli slice permettono di lavorare con sequenze di elementi senza dover copiare i dati.
Esempio di creazione e utilizzo di uno slice:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // slice degli elementi con indici 1,2,3
fmt.Println(slice) // [2 3 4]
slice = append(slice, 6) // aggiunge un elemento, se necessario viene allocata nuova memoria
fmt.Println(slice) // [2 3 4 6]
Gli slice sono utili perché possono essere creati da quelli esistenti, modificare la loro dimensione e passarli a funzioni senza copiare l’intero array.