Sobes.tech
Junior — Middle

Ce schimbări apar în slice atunci când se folosește funcția Append în limbajul Go?

sobes.tech AI

Răspuns de la AI

În limbajul Go, funcția append este utilizată pentru a adăuga elemente la un slice. Când se apelează append, se întâmplă următoarele modificări:

  • Dacă capacitatea (capacity) slice-ului este suficientă, elementele noi sunt pur și simplu adăugate la array-ul existent, iar lungimea (length) slice-ului crește.
  • Dacă capacitatea nu este suficientă, se creează un nou array de dimensiune mai mare, în care sunt copiate elementele vechi și se adaugă cele noi. Se returnează un nou slice care indică către acest array.

Este important să rețineți că append returnează un nou slice, așa că trebuie să atribuiți rezultatul înapoi:

s := []int{1, 2, 3}
s = append(s, 4, 5)

Fără atribuție, slice-ul original nu se va modifica.