Sobes.tech
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.