Ответ
Обращение к элементу динамического массива (среза) в Go имеет константную сложность O(1). Это достигается благодаря тому, что срез — это структура, содержащая указатель на массив, длину и емкость.
Пример:
s := []int{1, 2, 3, 4, 5}
element := s[2] // O(1) - моментальный доступ по индексу
Нюансы:
- Время доступа не зависит от размера массива
- Работает одинаково быстро для любого элемента
- Под капотом используется обычная адресная арифметика (базовый адрес + смещение)