We access array elements to get or use the specific values stored inside the array. This helps us work with individual pieces of data.
Accessing array elements in Go
package main import "fmt" func main() { var numbers [5]int = [5]int{10, 20, 30, 40, 50} // Access element at index 2 value := numbers[2] fmt.Println(value) }
Array indexes start at 0, so the first element is at index 0.
Trying to access an index outside the array size causes a runtime panic.
package main import "fmt" func main() { var letters [3]string = [3]string{"a", "b", "c"} fmt.Println(letters[0]) // Output: a fmt.Println(letters[2]) // Output: c }
package main import "fmt" func main() { var emptyArray [0]int // No elements to access, accessing any index will cause panic fmt.Println(len(emptyArray)) // Output: 0 }
package main import "fmt" func main() { var singleElement [1]string = [1]string{"only"} fmt.Println(singleElement[0]) // Output: only }
This program shows how to access and update elements in an array. It prints the array before and after changing one element.
package main import "fmt" func main() { // Create an array of 5 integers var scores [5]int = [5]int{85, 90, 78, 92, 88} // Print the whole array fmt.Println("Scores array:", scores) // Access and print the first element fmt.Println("First score:", scores[0]) // Access and print the last element fmt.Println("Last score:", scores[4]) // Change the third element scores[2] = 80 fmt.Println("Updated scores array:", scores) }
Accessing an element by index is very fast, it takes constant time O(1).
Arrays have fixed size, so you cannot access indexes outside their length.
Common mistake: forgetting that indexes start at 0, not 1.
Use arrays when you know the number of elements in advance and want fast access.
Arrays store multiple values of the same type in order.
You access elements using their index, starting at 0.
Accessing elements is fast and simple but be careful not to go out of bounds.
Practice
Solution
Step 1: Understand Go array indexing
In Go, arrays start indexing from 0, meaning the first element is at index 0.Step 2: Confirm the first element's index
The first element is always accessed with index 0, not 1 or any other number.Final Answer:
0 -> Option DQuick Check:
First element index = 0 [OK]
- Thinking indexing starts at 1
- Assuming negative indexes are valid
- Believing index depends on array size
arr in Go?Solution
Step 1: Recall Go array indexing syntax
Go uses square brackets with zero-based indexing to access elements, so the third element is at index 2.Step 2: Identify correct syntax
arr[2] accesses the third element; arr[3] accesses the fourth, arr(2) and arr{2} are invalid syntax.Final Answer:
arr[2] -> Option BQuick Check:
Third element = arr[2] [OK]
- Using parentheses instead of brackets
- Using 1-based index
- Using curly braces for access
arr := [4]int{10, 20, 30, 40}
fmt.Println(arr[1])Solution
Step 1: Identify the array elements and their indexes
The array is [10, 20, 30, 40], indexed 0 to 3. Index 1 corresponds to the second element, 20.Step 2: Determine the printed value
arr[1] accesses the element 20, so fmt.Println prints 20.Final Answer:
20 -> Option CQuick Check:
arr[1] = 20 [OK]
- Printing arr[0] instead
- Confusing index 1 with 2
- Expecting output as 30 or 40
arr := [3]int{1, 2, 3}
fmt.Println(arr[3])Solution
Step 1: Check array size and valid indexes
The array has size 3, so valid indexes are 0, 1, and 2 only.Step 2: Identify the error in accessing arr[3]
Accessing arr[3] tries to get the fourth element, which does not exist, causing an out-of-bounds runtime error.Final Answer:
Index 3 is out of bounds for the array -> Option AQuick Check:
Valid indexes: 0 to 2 only [OK]
- Using index equal to array length
- Thinking fmt.Println can't print elements
- Assuming array size auto-expands
arr := [5]int{5, 10, 15, 20, 25}, which code snippet correctly sums the first three elements?Solution
Step 1: Identify the first three elements
The first three elements are at indexes 0, 1, and 2, which are 5, 10, and 15 respectively.Step 2: Check which option sums these elements
sum := arr[0] + arr[1] + arr[2] sums arr[0], arr[1], and arr[2], which is correct. Other options include elements beyond the first three.Final Answer:
sum := arr[0] + arr[1] + arr[2] -> Option AQuick Check:
Sum first three = arr[0]+arr[1]+arr[2] [OK]
- Starting sum at index 1
- Skipping elements
- Including elements beyond first three
Ready to prove it?
Pass the test and this pattern moves unknown
