Junior — Middle
Jak vložit nový prvek do centrální části dynamického pole (layers)?
sobes.tech AI
Odpověď od AI
V jazyce Go je vložení nového prvku do středu slice nutné vytvořit nový slice, který spojí části před a po pozici vložení a vložený prvek. Například, pokud chcete vložit prvek x na pozici i v slice s:
s = append(s[:i], append([]T{x}, s[i:]...)...)
Zde je T typ prvků slice. Tento způsob funguje takto:
- Vezmeme řez od začátku do pozice
i(bezi):s[:i] - Vytvoříme slice s jedním prvkem
x:[]T{x} - Vezmeme řez od pozice
ido konce:s[i:] - Vnitřní
appendspojí vložený prvek a ocas slice - Vnější
appendpřidá vše na začátek
Příklad:
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// s je nyní: [1 2 3 4 5]
Toto je standardní způsob vkládání do středu slice v jazyce Go.