Junior — Middle
Ce consecințe apar atunci când se folosește metoda append pentru un slice declarat fără parametri inițiali?
sobes.tech AI
Răspuns de la AI
Dacă o secțiune în Go este declarată fără parametri inițiali, de exemplu var s []int, ea este inițial egală cu nil și nu indică către un array alocat. La utilizarea funcției append, Go va aloca automat un nou array și va adăuga elementele, returnând o secțiune nouă cu capacitatea necesară.
Aceasta înseamnă că append funcționează în mod sigur cu secțiuni nil, și puteți scrie:
var s []int // secțiune nil
s = append(s, 1, 2, 3) // acum s indică către un nou array cu elementele
Consecințe:
- Nu este necesar să inițializați secțiunea înainte de a folosi
append. - La primul apel de
append, se alocă memorie. - Dacă secțiunea este nil, atunci
len(s) == 0șicap(s) == 0.
Prin urmare, utilizarea append cu secțiuni nil este o practică standard în Go, care simplifică lucrul cu colecții dinamice.