Sobes.tech
Junior — Middle

Como é organizada a estrutura do array na memória e como ocorre o acesso aos seus elementos?

sobes.tech IA

Resposta da IA

No Go, os arrays são blocos contíguos de memória onde os elementos são armazenados um após o outro. Cada elemento ocupa um tamanho fixo, dependendo do tipo de dado.

O acesso a um elemento do array ocorre através do cálculo do endereço: endereço base do array mais um deslocamento, que é o índice do elemento multiplicado pelo tamanho do elemento. Isso garante acesso rápido a qualquer elemento pelo índice em tempo constante.

Exemplo:

var arr [5]int = [5]int{10, 20, 30, 40, 50}
// arr é armazenado na memória como uma sequência de 5 inteiros
fmt.Println(arr[2]) // Vai imprimir 30

Aqui, arr[2] é o elemento com índice 2, cujo endereço é calculado como o endereço do início do array + 2 * sizeof(int).