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