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