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