Sobes.tech
Junior — Middle

How is the access time complexity to elements of an internal array in a dynamic slice determined?

sobes.tech AI

Answer from AI

In Go, access to slice elements by index has a time complexity of O(1), since a slice is a structure containing a pointer to an internal array, its length, and capacity. When accessing an element, it directly accesses the array element by offset, which is performed in constant time.

Example:

s := []int{10, 20, 30, 40}
fmt.Println(s[2]) // Fast access to the element at index 2

Thus, regardless of the size of the slice, access to an element by index is always efficient and does not depend on the length of the slice.