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).