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