Sobes.tech
Junior — Middle

Можете ли објаснити принцип функционисања срезова (slice) у програмском језику?

sobes.tech АИ

Одговор од АИ

Seč (slice) u Go-u je dinamički, promenjivi prikaz sekvence elemenata istog tipa. Sadrži:

  • pokazivač na niz,
  • dužinu (broj elemenata u seku),
  • kapacitet (maksimalni broj elemenata koje može sadržavati bez alokacije nove memorije).

Seče omogućavaju rad sa delovima nizova ili kreiranje novih dinamičkih sekvenci bez kopiranja podataka.

Primer:

arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // seč elemenata sa indeksima 1,2,3: [2 3 4]

fmt.Println(s) // [2 3 4]

s = append(s, 6) // dodaje element, ako kapacitet to dozvoljava, seč se proširuje

Seče su korisne jer omogućavaju efikasno rad sa podacima, bez kopiranja nizova, i dinamički menjaju veličinu sekvence.