Junior — Middle
Kuidas on massiivi struktuur mälus organiseeritud ja kuidas toimub juurdepääs selle elementidele?
sobes.tech AI
Vastus AI-lt
Go keeles massivid on järjestikused mälupuhvrid, kus elemendid paiknevad üksteise järel. Iga element võtab ruumi fikseeritud suurusega, mis sõltub andmetüübist.
Massivi elemendile juurdepääs toimub aadressi arvutamise teel: massivi põhiaadress pluss nihke, mis võrdub elemendi indeksiga korrutatuna elemendi suurusega. See võimaldab kiiret juurdepääsu igale elemendile indeksiga konstantses ajas.
Näide:
var arr [5]int = [5]int{10, 20, 30, 40, 50}
// arr on mälus salvestatud kui järjestus 5 täisarvust
fmt.Println(arr[2]) // Kuvab 30
Siin on arr[2] element indeksiga 2, mille aadress arvutatakse kui massiivi algus aadress plus 2 * sizeof(int).