Sobes.tech
Junior — Middle

Какво означава свойството capacity при слайс в Go, ако при създаването му не е посочено явно?

sobes.tech AI

Отговор от AI

В Go, слайсът е структура, която съдържа указател към масив, дължина (len) и капацитет (capacity).

Ако при създаването на слайс капацитетът не е явно указан, той се задава равен на дължината на слайса. Капацитетът показва колко елемента може да съдържа слайсът без да се заделя нова памет.

Например:

s := make([]int, 3) // len=3, cap=3

Тук капацитетът е 3, тъй като не е указан отделно.

Ако капацитетът е по-голям от дължината, слайсът може да бъде разширен до капацитета без да се заделя нов масив.