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