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.