Junior — Middle
Aké zmeny nastávajú so slice pri použití funkcie Append v jazyku Go?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa funkcia append používa na pridanie prvkov do slice. Pri volaní append dochádza k nasledujúcim zmenám:
- Ak je kapacita (capacity) slice dostatočná, nové prvky sa jednoducho pridajú do existujúceho poľa a dĺžka (length) slice sa zväčší.
- Ak kapacita nestačí, vytvorí sa nové pole väčšej veľkosti, do ktorého sa skopírujú staré prvky a pridajú sa nové. Vráti sa nový slice ukazujúci na toto pole.
Je dôležité si zapamätať, že append vracia nový slice, preto je potrebné výsledok priradiť späť:
s := []int{1, 2, 3}
s = append(s, 4, 5)
Bez priradenia sa pôvodný slice nezmení.