Sobes.tech
Junior — Middle

Kā ir organizēta masīva struktūra atmiņā un kā notiek piekļuve tās elementiem?

sobes.tech AI

Atbilde no AI

Go valodā masīvi ir secīgi atmiņas blokki, kuros elementi ir novietoti viens aiz otra. Katrs elements aizņem fiksētu izmēru, kas ir atkarīgs no datu tipa.

Piekļuve masīva elementam notiek, aprēķinot adresi: galvenā masīva adrese plus nobīde, kas ir elementa indekss, reizināts ar elementa izmēru. Tas nodrošina ātru piekļuvi jebkuram elementam pēc indeksa ar nemainīgu laiku.

Piemērs:

var arr [5]int = [5]int{10, 20, 30, 40, 50}
// arr tiek glabāts atmiņā kā secība no 5 veseliem skaitļiem
fmt.Println(arr[2]) // Izvadīs 30

Šeit arr[2] ir elements ar indeksu 2, kura adrese tiek aprēķināta kā masīva sākuma adrese plus 2 * sizeof(int).