Junior — Middle
Co znamená vlastnost capacity u slice v Go, pokud při jeho vytváření není výslovně uvedena?
sobes.tech AI
Odpověď od AI
V jazyce Go je řez (slice) struktura, která obsahuje ukazatel na pole, délku (len) a kapacitu (capacity).
Pokud při vytváření řezu není kapacita výslovně uvedena, nastaví se rovná délce řezu. Kapacita ukazuje, kolik prvků může řez pojmout bez alokace nové paměti.
Například:
s := make([]int, 3) // len=3, cap=3
Zde je kapacita rovna 3, protože nebyla uvedena zvlášť.
Pokud je kapacita větší než délka, lze řez rozšířit na kapacitu bez alokace nového pole.