Append primárně přidává prvek do slice. Nové pole alokuje az kdyz je to soucasné nedostatečné. Dělá to klasickým algoritmem, že se prealokuje dvojnásobné pole, a zkopíruje obsah predchozího.
To, že append nevytváří pokaždé nové pole je hezky využitelné.
Třeba když dělam filter na slice, a vím, že ten výskyt prvku, který budu odebírat, je minimální, tak prealokuji slice s plnou kapacitou, ale nulovou délkou.
https://go.dev/play/p/dYAOoZ6rMxJ