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.