Bird
Raised Fist0
Goprogramming~20 mins

Why arrays are needed in Go - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of array initialization and access
What is the output of this Go program that initializes an array and prints its elements?
Go
package main
import "fmt"
func main() {
    var arr [3]int = [3]int{10, 20, 30}
    for i := 0; i < len(arr); i++ {
        fmt.Print(arr[i], " ")
    }
}
A10 20 30
B10 20 30 0
C0 0 0
DCompilation error
Attempts:
2 left
💡 Hint
Remember arrays hold fixed-size collections of elements of the same type.
🧠 Conceptual
intermediate
1:30remaining
Why use arrays instead of separate variables?
Why are arrays useful compared to using many separate variables for similar data?
AArrays automatically sort the data for you.
BArrays allow grouping multiple values of the same type under one name for easy management.
CArrays use less memory than separate variables.
DArrays can store different types of data in one variable.
Attempts:
2 left
💡 Hint
Think about how you handle many similar items in real life, like a row of mailboxes.
❓ Predict Output
advanced
2:00remaining
Output when modifying array elements
What is the output of this Go program that modifies an array element?
Go
package main
import "fmt"
func main() {
    arr := [4]int{1, 2, 3, 4}
    arr[2] = 10
    fmt.Println(arr)
}
A[1 2 10 4]
B[1 2 3 4]
C[10 2 3 4]
DRuntime error
Attempts:
2 left
💡 Hint
Arrays allow changing values at specific positions by index.
🔧 Debug
advanced
2:00remaining
Identify the error in array declaration
What error does this Go code produce and why?
Go
package main
func main() {
    var arr [3]int = [4]int{1, 2, 3, 4}
}
Ano error, compiles fine
Bindex out of range error
Csyntax error: missing colon
Dcannot use [4]int literal as [3]int value in assignment
Attempts:
2 left
💡 Hint
Check if the array sizes on both sides match.
🚀 Application
expert
2:30remaining
Count how many elements in an array are greater than 5
What is the value of count after running this Go code?
Go
package main
import "fmt"
func main() {
    arr := [5]int{3, 7, 2, 9, 5}
    count := 0
    for _, v := range arr {
        if v > 5 {
            count++
        }
    }
    fmt.Println(count)
}
A3
B1
C2
D0
Attempts:
2 left
💡 Hint
Look at each element and count only those greater than 5.

Practice

(1/5)
1. Why do we need arrays in Go programming?
easy
A. To store multiple values of the same type together in one variable
B. To store only one value at a time
C. To perform mathematical calculations faster
D. To create functions that run automatically

Solution

  1. Step 1: Understand the purpose of arrays

    Arrays allow storing many values of the same type in one place, making it easier to manage related data.
  2. Step 2: Compare options with array purpose

    Only To store multiple values of the same type together in one variable correctly describes storing multiple values together; others describe unrelated concepts.
  3. Final Answer:

    To store multiple values of the same type together in one variable -> Option A
  4. Quick Check:

    Arrays store multiple values = A [OK]
Hint: Arrays hold many same-type items in one variable [OK]
Common Mistakes:
  • Thinking arrays store different types together
  • Confusing arrays with single variables
  • Assuming arrays speed up math automatically
2. Which of the following is the correct way to declare an array of 3 integers in Go?
easy
A. var arr [3]int
B. arr := []int{3}
C. var arr int[3]
D. arr = array(3)int

Solution

  1. Step 1: Recall Go array declaration syntax

    In Go, arrays are declared with var name [size]type, for example var arr [3]int.
  2. Step 2: Check each option

    var arr [3]int matches correct syntax. arr := []int{3} is a slice, not an array. Options A and D are invalid syntax.
  3. Final Answer:

    var arr [3]int -> Option A
  4. Quick Check:

    Array declaration uses var name [size]type = C [OK]
Hint: Remember: var name [size]type declares an array [OK]
Common Mistakes:
  • Using slice syntax instead of array syntax
  • Placing size after type incorrectly
  • Using non-Go keywords like 'array'
3. What will be the output of this Go code?
package main
import "fmt"
func main() {
  var nums [3]int
  nums[0] = 10
  nums[1] = 20
  nums[2] = 30
  fmt.Println(nums[1])
}
medium
A. 10
B. 0
C. 20
D. 30

Solution

  1. Step 1: Understand array indexing

    Arrays in Go start at index 0. nums[1] refers to the second element.
  2. Step 2: Check assigned values

    nums[1] was assigned 20, so printing nums[1] outputs 20.
  3. Final Answer:

    20 -> Option C
  4. Quick Check:

    nums[1] = 20, output = 20 [OK]
Hint: Remember Go arrays start at index 0 [OK]
Common Mistakes:
  • Confusing index 1 with index 0
  • Assuming default zero value prints instead
  • Mixing up assigned values
4. Find the error in this Go code that uses an array:
package main
import "fmt"
func main() {
  var arr [2]int
  arr[2] = 5
  fmt.Println(arr)
}
medium
A. Missing import statement
B. Print statement syntax error
C. Incorrect array declaration syntax
D. Array size is too small for index 2

Solution

  1. Step 1: Check array size and index used

    The array arr has size 2, so valid indexes are 0 and 1 only.
  2. Step 2: Identify invalid index usage

    Accessing arr[2] is out of bounds and causes a runtime error.
  3. Final Answer:

    Array size is too small for index 2 -> Option D
  4. Quick Check:

    Index 2 invalid for size 2 array = B [OK]
Hint: Array indexes go from 0 to size-1 only [OK]
Common Mistakes:
  • Using index equal to array size
  • Ignoring runtime index errors
  • Thinking import or print cause error
5. You want to store the daily temperatures for a week in Go. Which is the best reason to use an array for this?
hard
A. Because arrays automatically sort the temperatures for you
B. Because the number of days is fixed and you want to access temperatures by day index
C. Because arrays can grow dynamically as you add more days
D. Because arrays allow storing different types like int and string together

Solution

  1. Step 1: Understand the problem context

    Daily temperatures for a week means exactly 7 values, fixed size, accessed by day position.
  2. Step 2: Match array properties to the need

    Arrays have fixed size and allow access by index, perfect for fixed-length daily data.
  3. Step 3: Eliminate incorrect options

    Arrays do not sort automatically, cannot grow dynamically, and store only one type.
  4. Final Answer:

    Because the number of days is fixed and you want to access temperatures by day index -> Option B
  5. Quick Check:

    Fixed size + index access = A [OK]
Hint: Use arrays when size is fixed and order matters [OK]
Common Mistakes:
  • Thinking arrays grow dynamically
  • Assuming arrays sort data automatically
  • Believing arrays hold mixed types
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