Junior — Middle
Poți explica ce este un slice în programare și cum funcționează?
sobes.tech AI
Răspuns de la AI
Un slice în Go este un fragment dinamic și modificabil al unui array. Este o structură care conține:
- un pointer către primul element al array-ului,
- lungimea (numărul de elemente din slice),
- capacitatea (numărul maxim de elemente pe care le poate conține slice-ul fără redistribuire).
Slice-urile permit lucrul cu secvențe de elemente fără a fi nevoie să copieze datele.
Exemplu de creare și utilizare a unui slice:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // slice de elemente cu indicii 1,2,3
fmt.Println(slice) // [2 3 4]
slice = append(slice, 6) // adăugăm un element, dacă este necesar se alocă memorie nouă
fmt.Println(slice) // [2 3 4 6]
Slice-urile sunt utile deoarece pot fi create din cele existente, își pot modifica dimensiunea și pot fi transmise funcțiilor fără a copia întregul array.