📖 Scenario: You are helping a small shop owner who wants to check the prices of some fruits they have in stock.
🎯 Goal: You will create a program that stores fruit prices in an array, then uses a loop to print each fruit's price.
📋 What You'll Learn
Create an array with exact fruit prices
Create a variable to count the number of fruits
Use a for loop with index to iterate over the array
Print each fruit price with a message
💡 Why This Matters
🌍 Real World
Arrays and loops are used in many programs to store and process lists of data, like prices, names, or measurements.
💼 Career
Understanding how to iterate over arrays is a fundamental skill for software developers working with data collections.
Progress0 / 4 steps
1
Create the fruit prices array
Create an array called prices of type float64 with these exact values: 1.25, 0.75, 2.50, 3.00.
Go
Hint
Use the syntax prices := [4]float64{1.25, 0.75, 2.50, 3.00} to create the array.
2
Create a variable for the number of fruits
Create a variable called count and set it to the length of the prices array using the len function.
Go
Hint
Use count := len(prices) to get the number of items in the array.
3
Use a for loop to iterate over the prices array
Use a for loop with the variable i from 0 to count (exclusive) to iterate over the prices array.
Go
Hint
Use for i := 0; i < count; i++ and access each price with prices[i].
4
Print each fruit price inside the loop
Inside the for loop, use fmt.Println to print the message "Price of fruit at index i: $price" where i is the index and price is the price at that index. Use fmt.Printf with formatting to show the price with two decimals.
Go
Hint
Use fmt.Printf("Price of fruit at index %d: $%.2f\n", i, prices[i]) to print the message.
Practice
(1/5)
1. What does the range keyword do when used with an array in Go?
easy
A. It creates a new array with copied elements.
B. It changes the size of the array during iteration.
C. It lets you loop over each element and get its index and value.
D. It sorts the array elements automatically.
Solution
Step 1: Understand the role of range in loops
The range keyword in Go is used to iterate over elements in arrays, slices, maps, and more, providing both the index and the value of each element.
Step 2: Identify what range does with arrays
When used with an array, range returns the index and the value of each element one by one, allowing you to process or read each item.
Final Answer:
It lets you loop over each element and get its index and value. -> Option C
Quick Check:
range loops with index and value [OK]
Hint: Remember: range gives index and value for each element [OK]
Common Mistakes:
Thinking range changes array size
Assuming range sorts elements
Believing range copies the array
2. Which of the following is the correct syntax to iterate over an array named nums in Go?
easy
A. for i, v := range nums { fmt.Println(i, v) }
B. for i in nums { fmt.Println(i) }
C. foreach i, v in nums { fmt.Println(i, v) }
D. for (i, v) in nums { fmt.Println(i, v) }
Solution
Step 1: Recall Go's for-range loop syntax
In Go, the correct way to iterate over arrays or slices is using for index, value := range array syntax.
Step 2: Match the syntax with the options
for i, v := range nums { fmt.Println(i, v) } uses for i, v := range nums, which is the correct Go syntax. Other options use invalid or non-Go syntax.
Final Answer:
for i, v := range nums { fmt.Println(i, v) } -> Option A
Quick Check:
Go uses for i, v := range array [OK]
Hint: Use 'for i, v := range array' for Go array loops [OK]
Common Mistakes:
Using 'for i in nums' like Python
Using 'foreach' which is not Go syntax
Using parentheses in for loop header
3. What will be the output of this Go code?
nums := [3]int{10, 20, 30}
for i, v := range nums {
fmt.Println(i, v)
}
medium
A. 0 0
1 1
2 2
B. 10 0
20 1
30 2
C. Syntax error
D. 0 10
1 20
2 30
Solution
Step 1: Understand the array and loop
The array nums has 3 elements: 10 at index 0, 20 at index 1, and 30 at index 2. The loop uses range to get index and value.
Step 2: Trace the loop output
Each iteration prints the index and the value: first line prints "0 10", second "1 20", third "2 30".
Final Answer:
0 10
1 20
2 30 -> Option D
Quick Check:
Index and value printed in order [OK]
Hint: range returns index then value in order [OK]
Common Mistakes:
Swapping index and value in print
Expecting values as indexes
Thinking code has syntax error
4. Identify the error in this Go code snippet:
nums := [3]int{1, 2, 3}
for i, v = range nums {
fmt.Println(i, v)
}
medium
A. Missing colon in 'for i, v = range nums' should be ':='
B. Using '=' instead of '==' in loop condition
C. Array declaration syntax is wrong
D. fmt.Println cannot print two variables
Solution
Step 1: Check the for loop variable declaration
In Go, when declaring variables in a for-range loop, you must use ':=' to declare and assign variables, not '='.
Step 2: Identify the syntax error
The code uses '=' instead of ':=' in for i, v = range nums, which causes a syntax error.
Final Answer:
Missing colon in 'for i, v = range nums' should be ':=' -> Option A
Quick Check:
Use ':=' to declare variables in for-range loops [OK]
Hint: Use ':=' not '=' in for-range variable declaration [OK]
Common Mistakes:
Using '=' instead of ':=' in for loop
Confusing assignment with comparison
Incorrect array syntax blamed
5. Given an array nums := [5]int{1, 2, 3, 4, 5}, how can you create a new slice containing only the even numbers using iteration?
hard
A. Use a for loop to change the array size and remove odd numbers.
B. Use a for-range loop to check each value and append even numbers to a slice.
C. Use range to multiply all numbers by 2 and store in a new array.
D. Use a for loop with index only and ignore values.
Solution
Step 1: Understand the goal and array
The goal is to create a new slice with only even numbers from the array nums. Arrays have fixed size, so we cannot remove elements from it.
Step 2: Use for-range loop and append even values
We iterate over nums using for _, v := range nums, check if v % 2 == 0, and append those values to a new slice.
Final Answer:
Use a for-range loop to check each value and append even numbers to a slice. -> Option B
Quick Check:
Filter with for-range and append even numbers [OK]
Hint: Filter with for-range and append to slice [OK]
Common Mistakes:
Trying to change array size directly
Ignoring values in loop
Multiplying instead of filtering
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.