Junior — Middle
Можете ли објаснити шта је срез (slice) у програмирању и како он функционише?
sobes.tech АИ
Одговор од АИ
Urez (slice) u Go jeziku je dinamički, promenjivi fragment niza. Predstavlja strukturu koja sadrži:
- pokazivač na prvi element niza,
- dužinu (broj elemenata u urez),
- kapacitet (maksimalni broj elemenata koje urez može da sadrži bez redistribucije).
Urezi omogućavaju rad sa nizovima elemenata bez potrebe za kopiranjem podataka.
Primer kreiranja i korišćenja urez:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // urez elemenata sa indeksima 1,2,3
fmt.Println(slice) // [2 3 4]
slice = append(slice, 6) // dodajemo element, po potrebi se dodeljuje nova memorija
fmt.Println(slice) // [2 3 4 6]
Urezi su korisni jer se mogu praviti novi urezovi od postojećih, menjati im veličinu i prosleđivati ih funkcijama bez kopiranja celog niza.