Junior — Middle
Cum se inserează un element nou în partea centrală a unui array dinamic (layer)?
sobes.tech AI
Răspuns de la AI
În Go, pentru a insera un element nou în mijlocul unui slice, trebuie să creezi un nou slice combinând părțile înainte și după poziția de inserție, precum și elementul de inserat. De exemplu, pentru a insera elementul x în poziția i a slice-ului s:
s = append(s[:i], append([]T{x}, s[i:]...)...)
Aici, T este tipul elementelor din slice. Această metodă funcționează astfel:
- Se ia o secțiune de la început până la poziția
i(fără a includei):s[:i] - Se creează un slice cu un singur element
x:[]T{x} - Se ia o secțiune de la poziția
ipână la sfârșit:s[i:] append-ul intern combină elementul de inserat și coada slice-uluiappend-ul extern adaugă totul la început
Exemplu:
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// s devine: [1 2 3 4 5]
Aceasta este metoda standard de inserare în mijlocul unui slice în Go.