Sobes.tech
Junior — Middle

Hogyan határozzák meg a memória által foglalt méretet egy szeletben a programozási nyelvben?

sobes.tech MI

Válasz az MI-től

Go-ban a szelet (slice) egy olyan szerkezet, amely három mezőt tartalmaz: egy mutatót egy tömbre, egy hosszúságot és egy kapacitást. A szelet memória mérete ezeknek a három mezőnek az összegéből adódik.

Tipikusan, egy szelet mérete 24 bájt 64 bites rendszereken (minden mező 8 bájt).

Fontos: a szelet nem tartalmaz adatokat, csak egy hivatkozást egy tömbre, ahol az elemek tárolódnak. Az adatok mérete a szelet hosszától és az elem típusának méretétől függ.

Példa:

var s []int
// s fix méretet foglal el (24 bájt),
// de a rá hivatkozó adatok a len(s)*sizeof(int) bájtokat foglalnak el