Sobes.tech
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.