Junior — Middle
Cum se determină dimensiunea slice-ului în memorie în limbajul de programare?
sobes.tech AI
Răspuns de la AI
În Go, un slice este o structură care conține trei câmpuri: un pointer către un array, o lungime și o capacitate. Dimensiunea slice-ului în memorie este determinată de suma acestor trei câmpuri.
În mod tipic, dimensiunea unui slice ocupă 24 de octeți pe sistemele pe 64 de biți (8 octeți pe fiecare câmp).
Important: slice-ul în sine nu conține date, ci doar o referință la array-ul în care sunt stocate elementele. Dimensiunea datelor depinde de lungimea slice-ului și de dimensiunea tipului elementelor.
Exemplu:
var s []int
// s ocupă o dimensiune fixă (24 octeți),
// dar datele la care face referire ocupă len(s)*sizeof(int) octeți