Junior — Middle
Aké údaje sa ukladajú do ukazovateľa vnútri štruktúry rezu?
sobes.tech AI
Odpoveď od AI
V štruktúre rezu (slice) v Go sa ukladajú tri hlavné polia:
-
Ukazovateľ (pointer) — adresa prvého prvku poľa, na ktorý sa odkazuje rez. To nemusí byť začiatok celého poľa, ale začiatok rezu v rámci poľa.
-
Dĺžka (length) — počet prvkov dostupných cez rez.
-
Kapacita (capacity) — maximálny počet prvkov, ktoré môžu byť umiestnené, začínajúc od ukazovateľa, bez pridelenia novej pamäte.
Príklad štruktúry rezu (zjednodušený):
type SliceHeader struct {
Data uintptr // ukazovateľ na prvý prvok
Len int // dĺžka rezu
Cap int // kapacita rezu
}
Týmto spôsobom ukazovateľ vnútri rezu ukazuje na prvý prvok rezu v základnom poli, čo umožňuje efektívnu prácu s podmnožinami bez kopírovania dát.