Sobes.tech
Junior — Middle

Jak se určuje velikost paměti zabrané slice v programovacím jazyce?

sobes.tech AI

Odpověď od AI

V jazyce Go je slice struktura, která obsahuje tři pole: ukazatel na pole, délku a kapacitu. Velikost slice v paměti je určena součtem velikostí těchto tří polí.

Obvykle zabírá velikost slice 24 bajtů na 64bitových systémech (8 bajtů na každé pole).

Důležité: samotný slice neobsahuje data, pouze odkaz na pole, kde jsou uloženy prvky. Velikost dat závisí na délce slice a velikosti typu prvků.

Příklad:

var s []int
// s zabírá pevnou velikost (24 bajtů),
// ale data, na která odkazuje, zabírají len(s)*sizeof(int) bajtů