Junior — Middle
Kako umetnuti novi element u centralni deo dinamičkog niza (layers)?
sobes.tech АИ
Одговор од АИ
U jeziku Go, za umetanje novog elementa u sredinu slice-a, potrebno je napraviti novi slice koji kombinuje delove pre i posle pozicije umetanja, kao i element koji se umeće. Na primer, za umetanje elementa x na poziciju i u slice s:
s = append(s[:i], append([]T{x}, s[i:]...)...)
Ovde je T tip elemenata u slice-u. Ovaj metod funkcioniše na sledeći način:
- Uzimamo isečak od početka do pozicije
i(ne uključujućii):s[:i] - Kreiramo slice sa jednim elementom
x:[]T{x} - Uzimamo isečak od pozicije
ido kraja:s[i:] - Unutrašnji
appendkombinuje umetnuti element i rep slice-a - Spoljašnji
appenddodaje sve na početak
Primer:
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// sada je s: [1 2 3 4 5]
Ovo je standardni način umetanja u sredinu slice-a u Go.