Junior — Middle
Ce înseamnă proprietatea capacity a unui slice în Go, dacă nu este specificată explicit la crearea sa?
sobes.tech AI
Răspuns de la AI
În Go, un slice este o structură care conține un pointer către un array, o lungime (len) și o capacitate (capacity).
Dacă la crearea unui slice capacitatea nu este specificată explicit, aceasta este setată egal cu lungimea slice-ului. Capacitatea indică câți elemente poate conține slice-ul fără a aloca memorie nouă.
De exemplu:
s := make([]int, 3) // len=3, cap=3
Aici, capacitatea este 3, deoarece nu a fost specificată separat.
Dacă capacitatea este mai mare decât lungimea, slice-ul poate fi extins până la capacitate fără a aloca un nou array.