Sobes.tech
Junior — Middle

¿Cómo está organizada la estructura del array en la memoria y cómo se accede a sus elementos?

sobes.tech AI

Respuesta de la IA

En Go, los arreglos son bloques contiguos de memoria donde los elementos se almacenan uno tras otro. Cada elemento ocupa un tamaño fijo, que depende del tipo de dato.

El acceso a un elemento del arreglo se realiza mediante el cálculo de la dirección: la dirección base del arreglo más un desplazamiento, que es el índice del elemento multiplicado por el tamaño del elemento. Esto permite un acceso rápido a cualquier elemento por índice en tiempo constante.

Ejemplo:

var arr [5]int = [5]int{10, 20, 30, 40, 50}
// arr se almacena en memoria como una secuencia de 5 enteros
fmt.Println(arr[2]) // Imprime 30

Aquí, arr[2] es el elemento con índice 2, cuya dirección se calcula como la dirección del inicio del arreglo + 2 * sizeof(int).