Junior — Middle
Ako vložiť nový prvok do centrálnej časti dynamického poľa (layer)?
sobes.tech AI
Odpoveď od AI
V jazyku Go je vloženie nového prvku do stredu slice potrebné vytvoriť nový slice, ktorý spojí časti pred a po pozícii vloženia, a vložený prvok. Napríklad, ak chcete vložiť prvok x na pozíciu i v slice s:
s = append(s[:i], append([]T{x}, s[i:]...)...)
Tu je T typ prvkov v slice. Tento spôsob funguje takto:
- Vezmeme úsek od začiatku do pozície
i(bezi):s[:i] - Vytvoríme slice s jedným prvkom
x:[]T{x} - Vezmeme úsek od pozície
ido konca:s[i:] - Vnútorný
appendspojí vložený prvok a chvost slice - Vonkajší
appendpridá všetko na začiatok
Príklad:
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// s je teraz: [1 2 3 4 5]
Toto je štandardný spôsob vkladania do stredu slice v Go.