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