Junior — Middle
Jaké změny nastávají u slice při použití funkce Append v jazyce Go?
sobes.tech AI
Odpověď od AI
V jazyce Go se funkce append používá k přidání prvků do slice. Při volání append dochází k následujícím změnám:
- Pokud je kapacita (capacity) slice dostatečná, nové prvky jsou jednoduše přidány do existujícího pole a délka (length) slice se zvětší.
- Pokud kapacita nestačí, vytvoří se nové pole větší velikosti, do kterého jsou zkopírovány staré prvky a přidány nové. Vrací se nový slice ukazující na toto pole.
Je důležité si pamatovat, že append vrací nový slice, proto je třeba výsledek přiřadit zpět:
s := []int{1, 2, 3}
s = append(s, 4, 5)
Bez přiřazení se původní slice nezmění.