Ответ
Чтение из массива в Go выполняется за константное время O(1), так как доступ к элементам происходит по индексу. Производительность практически идентична работе с массивами в других языках, так как это низкоуровневая операция.
Пример:
arr := [3]int{10, 20, 30}
val := arr[1] // моментальный доступ
Нюансы:
- Время доступа не зависит от размера массива
- Массивы в Go имеют фиксированный размер (в отличие от срезов)
- При выходе за границы - паника
- Для больших массивов лучше передавать по указателю, чтобы избежать копирования