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