Junior — Middle
Puteți explica principiul de funcționare al slice-urilor în limbajul de programare?
sobes.tech AI
Răspuns de la AI
O felie (slice) în Go este o vedere dinamică și modificabilă a unei secvențe de elemente de același tip. Conține:
- un pointer către un array,
- lungimea (numărul de elemente din felie),
- capacitatea (numărul maxim de elemente pe care le poate conține fără alocare de memorie nouă).
Felii permit lucrul cu părți ale array-urilor sau crearea de noi secvențe dinamice fără copierea datelor.
Exemplu:
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // felie de elemente cu indicii 1,2,3: [2 3 4]
fmt.Println(s) // [2 3 4]
s = append(s, 6) // adaugă un element, dacă capacitatea permite, felia se extinde
Felii sunt utile pentru a lucra eficient cu datele, fără a copia array-urile, și pentru a modifica dinamic dimensiunea secvenței.