Junior — Middle
Come inserire un nuovo elemento nella parte centrale di un array dinamico (layers)?
sobes.tech AI
Risposta dell'AI
In Go, per inserire un nuovo elemento nel mezzo di uno slice, è necessario creare un nuovo slice combinando le parti prima e dopo la posizione di inserimento, e l’elemento da inserire. Ad esempio, per inserire l’elemento x alla posizione i di uno slice s:
s = append(s[:i], append([]T{x}, s[i:]...)...)
Qui, T è il tipo degli elementi dello slice. Questo metodo funziona così:
- Prendiamo una fetta dall’inizio fino alla posizione
i(senza includerei):s[:i] - Creiamo uno slice con un solo elemento
x:[]T{x} - Prendiamo una fetta dalla posizione
ifino alla fine:s[i:] - L’
appendinterno combina l’elemento da inserire e la coda dello slice - L’
appendesterno aggiunge tutto all’inizio
Esempio:
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// s ora è: [1 2 3 4 5]
Questo è il metodo standard per inserire nel mezzo di uno slice in Go.