Junior — Middle
Come viene determinata la dimensione della memoria occupata da uno slice in un linguaggio di programmazione?
sobes.tech AI
Risposta dell'AI
In Go, uno slice è una struttura che contiene tre campi: un puntatore a un array, una lunghezza e una capacità. La dimensione dello slice in memoria è determinata dalla somma di queste tre campi.
Tipicamente, la dimensione di uno slice occupa 24 byte sui sistemi a 64 bit (8 byte per ogni campo).
Importante: lo slice stesso non contiene i dati, ma solo un riferimento all'array dove sono memorizzati gli elementi. La dimensione dei dati dipende dalla lunghezza dello slice e dalla dimensione del tipo degli elementi.
Esempio:
var s []int
// s occupa una dimensione fissa (24 byte),
// ma i dati a cui fa riferimento occupano len(s)*sizeof(int) byte