Bird
Raised Fist0
Goprogramming~20 mins

Accessing array elements in Go - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Access Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of accessing array element by index
What is the output of this Go program?
Go
package main
import "fmt"
func main() {
    arr := [4]int{10, 20, 30, 40}
    fmt.Println(arr[2])
}
A20
B40
C30
DIndex out of range error
Attempts:
2 left
💡 Hint
Remember that Go arrays are zero-indexed, so the first element is at index 0.
❓ Predict Output
intermediate
2:00remaining
Accessing last element of an array
What will this Go program print?
Go
package main
import "fmt"
func main() {
    arr := [5]string{"a", "b", "c", "d", "e"}
    fmt.Println(arr[len(arr)-1])
}
Ae
Ba
Cd
DIndex out of range error
Attempts:
2 left
💡 Hint
len(arr) gives the number of elements. The last index is length minus one.
❓ Predict Output
advanced
2:00remaining
What error occurs when accessing out-of-bounds index?
What error does this Go program produce when run?
Go
package main
func main() {
    arr := [3]int{1, 2, 3}
    _ = arr[3]
}
Ano error, prints 0
Bpanic: runtime error: index out of range [3] with length 3
Ccompile error: invalid array index
Dpanic: nil pointer dereference
Attempts:
2 left
💡 Hint
Array indices must be within 0 to length-1. Accessing index 3 in a 3-element array is invalid.
🧠 Conceptual
advanced
2:00remaining
Understanding array element access with variables
What is the output of this Go program?
Go
package main
import "fmt"
func main() {
    arr := [3]int{5, 10, 15}
    i := 1
    fmt.Println(arr[i])
    i = 2
    fmt.Println(arr[i])
}
A15\n10
B5\n10
Cruntime error: index out of range
D10\n15
Attempts:
2 left
💡 Hint
The variable i changes before the second print, so the index changes.
🔧 Debug
expert
3:00remaining
Identify the cause of the runtime error
This Go program crashes with a runtime error. What is the cause?
Go
package main
import "fmt"
func main() {
    arr := [2]int{7, 8}
    for i := 0; i <= len(arr); i++ {
        fmt.Println(arr[i])
    }
}
AThe loop condition uses <= instead of < causing out-of-bounds access
BArray is not initialized properly
Cfmt.Println cannot print array elements
DVariable i is not declared
Attempts:
2 left
💡 Hint
Check the loop boundary and valid indices for the array.

Practice

(1/5)
1. What is the index of the first element in a Go array?
easy
A. 1
B. Depends on the array size
C. -1
D. 0

Solution

  1. Step 1: Understand Go array indexing

    In Go, arrays start indexing from 0, meaning the first element is at index 0.
  2. Step 2: Confirm the first element's index

    The first element is always accessed with index 0, not 1 or any other number.
  3. Final Answer:

    0 -> Option D
  4. Quick Check:

    First element index = 0 [OK]
Hint: Remember, Go arrays start counting at zero [OK]
Common Mistakes:
  • Thinking indexing starts at 1
  • Assuming negative indexes are valid
  • Believing index depends on array size
2. Which of the following is the correct way to access the third element of an array named arr in Go?
easy
A. arr[3]
B. arr[2]
C. arr(2)
D. arr{2}

Solution

  1. 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.
  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.
  3. Final Answer:

    arr[2] -> Option B
  4. Quick Check:

    Third element = arr[2] [OK]
Hint: Use square brackets and zero-based index [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Using 1-based index
  • Using curly braces for access
3. What will be the output of this Go code?
arr := [4]int{10, 20, 30, 40}
fmt.Println(arr[1])
medium
A. 10
B. 40
C. 20
D. 30

Solution

  1. 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.
  2. Step 2: Determine the printed value

    arr[1] accesses the element 20, so fmt.Println prints 20.
  3. Final Answer:

    20 -> Option C
  4. Quick Check:

    arr[1] = 20 [OK]
Hint: Remember index 1 is second element [OK]
Common Mistakes:
  • Printing arr[0] instead
  • Confusing index 1 with 2
  • Expecting output as 30 or 40
4. What is wrong with this Go code snippet?
arr := [3]int{1, 2, 3}
fmt.Println(arr[3])
medium
A. Index 3 is out of bounds for the array
B. Array declaration syntax is incorrect
C. fmt.Println cannot print array elements
D. The array size should be 4

Solution

  1. Step 1: Check array size and valid indexes

    The array has size 3, so valid indexes are 0, 1, and 2 only.
  2. 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.
  3. Final Answer:

    Index 3 is out of bounds for the array -> Option A
  4. Quick Check:

    Valid indexes: 0 to 2 only [OK]
Hint: Array indexes go from 0 to length-1 [OK]
Common Mistakes:
  • Using index equal to array length
  • Thinking fmt.Println can't print elements
  • Assuming array size auto-expands
5. Given the array arr := [5]int{5, 10, 15, 20, 25}, which code snippet correctly sums the first three elements?
hard
A. sum := arr[0] + arr[1] + arr[2]
B. sum := arr[1] + arr[2] + arr[3]
C. sum := arr[0] + arr[2] + arr[3]
D. sum := arr[2] + arr[3] + arr[4]

Solution

  1. 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.
  2. 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.
  3. Final Answer:

    sum := arr[0] + arr[1] + arr[2] -> Option A
  4. Quick Check:

    Sum first three = arr[0]+arr[1]+arr[2] [OK]
Hint: Sum elements at indexes 0, 1, and 2 for first three [OK]
Common Mistakes:
  • Starting sum at index 1
  • Skipping elements
  • Including elements beyond first three
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard