Sobes.tech
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í.