Sobes.tech
Junior — Middle

Оё миқдори хотира ёки қобилияти дастурии барномасозӣ тағйир меёбад, вақте ки андозаи қисмро кам мекунем?

sobes.tech AI

Ҷавоб аз AI

Дар забони Go, срез (slice) як структура аст, ки дороест нишондиҳанда ба массив, дарозӣ ва қобилият.

Вақте ки дарозии срезро кам мекунед (масалан, бо истифода аз slice = slice[:newLength]), танҳо дарозӣ тағйир меёбад — шумораи элементҳое, ки барои хондан ва навиштан дастрасанд. Қобилият ва хотирае, ки ҷудо шудааст, боқӣ мемонанд, зеро срез ҳанӯз ҳам ба ҳамон массив ишора мекунад.

Агар хоҳед, ки қобилиятро кам кунед ва хотирасо озод кунед, бояд срези нав созед ва ба он элементҳои заруриро нусхабардорӣ кунед, масалан:

oldSlice := []int{1, 2, 3, 4, 5}
newSlice := make([]int, 3)
copy(newSlice, oldSlice[:3])

Бинобар ин, кам кардани дарозии срез қобилият ва хотираро тағйир намедиҳад, бинобар ин, хотира автоматӣ озод намешавад.