Junior — Middle
Можете ли да обясните принципа на функциониране на срезовете (slice) в езика за програмиране?
sobes.tech AI
Отговор от AI
Насечка (slice) в Go е динамичен, променяем изглед към последователност от елементи от един и същи тип. Тя съдържа:
- указател към масив,
- дължина (броя на елементите в насечката),
- капацитет (максималният брой елементи, които могат да се съдържат без да се заделя нова памет).
Насечките позволяват работа с части от масиви или създаване на нови динамични последователности без копиране на данни.
Пример:
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // насечка на елементи с индекси 1,2,3: [2 3 4]
fmt.Println(s) // [2 3 4]
s = append(s, 6) // добавяме елемент, ако капацитетът позволява, насечката се разширява
Насечките са полезни, тъй като позволяват ефективна работа с данни, без да се копират масиви, и да се променя динамично размерът на последователността.