Junior — Middle
Как се извършва резервирането на памет за слайс в езика за програмиране?
sobes.tech AI
Отговор от AI
В езика Go слайсът е структура, която съдържа указател към масив, дължина и капацитет. При създаването на слайс паметта за елементите се резервира в масива, към който той сочи.
Когато се създаде слайс с помощта на функцията make, например make([]int, length, capacity), се заделя масив с посочената капацитет. Ако при добавяне на елементи капацитетът бъде превишен, Go автоматично заделя нов масив с по-голям размер, копира данните и актуализира указателя на слайса.
Пример:
s := make([]int, 0, 5) // слайс с дължина 0 и капацитет 5
s = append(s, 1, 2, 3) // добавяне на елементи
По този начин, резервирането на памет се извършва предварително за зададения капацитет, което повишава ефективността при добавяне на елементи.