Array elements are stored contiguously in memory:
arr := [4]int{10, 20, 30, 40}
// Memory: |10|20|30|40|
This makes access fast. The address of element i is the base address plus i times the element size. No pointers to chase, no indirection.
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
How arrays are stored
Array elements are stored contiguously in memory:
arr := [4]int{10, 20, 30, 40}
// Memory: |10|20|30|40|
This makes access fast. The address of element i is the base address plus i times the element size. No pointers to chase, no indirection.