📖 Scenario: You are organizing a small event and want to keep track of the number of guests arriving each day over a week.
🎯 Goal: Create an array to store the number of guests for each day of the week.
📋 What You'll Learn
Create an array with exactly 7 integers representing guests per day
Use the array to store the exact values given
Print the array to show the guest counts
💡 Why This Matters
🌍 Real World
Arrays are useful to store fixed sets of related data, like daily counts or measurements.
💼 Career
Understanding arrays and loops is fundamental for programming tasks in any software development job.
Progress0 / 4 steps
1
Create an array with guest counts
Create an array called guests of type [7]int with these exact values: 12, 15, 10, 20, 18, 25, 30.
Go
Hint
Use the syntax varName := [size]type{values} to declare and initialize an array.
2
Add a variable for total guests
Create an integer variable called totalGuests and set it to 0.
Go
Hint
Use variableName := value to create and set a variable.
3
Calculate total guests using a loop
Use a for loop with the variable i from 0 to 6 to add each day's guests from guests[i] to totalGuests.
Go
Hint
Use a for loop with index i to access array elements by guests[i].
4
Print the total number of guests
Write a fmt.Println statement to print the text Total guests: followed by the value of totalGuests.
Go
Hint
Use fmt.Println("Total guests:", totalGuests) to print the message and number.
Practice
(1/5)
1. What does the following Go code declare? var arr [3]int
easy
A. A slice of integers with length 3
B. An array of 3 integers initialized with zero values
C. A pointer to an integer array
D. A map with integer keys and values
Solution
Step 1: Understand the syntax var arr [3]int
This declares a fixed-size array named arr with 3 elements, each of type int.
Step 2: Recognize default initialization
In Go, arrays are initialized with zero values for their type, so all 3 integers start as 0.
Final Answer:
An array of 3 integers initialized with zero values -> Option B
Quick Check:
Array declaration = fixed size + type + zero values [OK]
Hint: Remember: [n]type means fixed size array of n elements [OK]
Common Mistakes:
Confusing array with slice declaration
Thinking it creates a pointer or map
Assuming uninitialized values are random
2. Which of the following is the correct way to declare an array of 4 strings in Go?
easy
A. var arr [4]string
B. var arr []string{4}
C. arr := [4]string{}
D. var arr string[4]
Solution
Step 1: Check Go array declaration syntax
Arrays are declared with var name [size]type. So var arr [4]string is correct.
Step 2: Analyze other options
var arr []string{4} uses slice syntax incorrectly. arr := [4]string{} is valid short declaration syntax in Go. var arr string[4] reverses size and type, which is invalid.
Final Answer:
var arr [4]string -> Option A
Quick Check:
Array syntax = var name [size]type [OK]
Hint: Array size goes inside brackets before type [OK]
Common Mistakes:
Using slice syntax instead of array syntax
Placing size after type
Missing var keyword or wrong initialization
3. What is the output of this Go program?
package main
import "fmt"
func main() {
var nums = [3]int{10, 20, 30}
fmt.Println(nums[1])
}
medium
A. 10
B. 0
C. 30
D. 20
Solution
Step 1: Understand array initialization
The array nums has 3 integers: 10 at index 0, 20 at index 1, and 30 at index 2.
Step 2: Access element at index 1
Printing nums[1] outputs the second element, which is 20.
Final Answer:
20 -> Option D
Quick Check:
Array index starts at 0, nums[1] = 20 [OK]
Hint: Array indexes start at 0; second element is index 1 [OK]
Common Mistakes:
Confusing index 1 with index 0
Expecting output 10 or 30 instead of 20
Thinking array is zero-indexed but printing wrong element
4. Identify the error in this Go array declaration:
var arr [3]int = {1, 2, 3}
medium
A. Array initialization syntax is incorrect
B. Braces {} should be replaced with []
C. Missing keyword 'var'
D. Array size must be omitted
Solution
Step 1: Review array initialization syntax
In Go, when initializing an array with values, the correct syntax is var arr = [3]int{1, 2, 3} or arr := [3]int{1, 2, 3}.
Step 2: Identify the error
The code uses var arr [3]int = {1, 2, 3} which misses the array type on the right side before the braces. This causes a syntax error.
Final Answer:
Array initialization syntax is incorrect -> Option A
Quick Check:
Array init needs type before braces [OK]
Hint: Array init needs type before braces, like [3]int{...} [OK]
Common Mistakes:
Omitting array type on right side during initialization
Using wrong braces or brackets
Trying to assign without proper syntax
5. How can you declare and initialize a 2D array of integers with 2 rows and 3 columns in Go?
hard
A. var matrix [2][3]int = [2][3]int{{1,2,3},{4,5,6}}
B. var matrix [][]int = {{1,2,3},{4,5,6}}
C. matrix := [2][3]int{{1,2,3},{4,5,6}}
D. var matrix [3][2]int = {{1,2},{3,4},{5,6}}
Solution
Step 1: Understand 2D array declaration
A 2D array with 2 rows and 3 columns is declared as [2][3]int. Both dimensions must be specified.
Step 2: Check initialization syntax
matrix := [2][3]int{{1,2,3},{4,5,6}} uses short declaration with := and correctly initializes the 2D array with two rows of three integers each.
Step 3: Analyze other options
var matrix [2][3]int = [2][3]int{{1,2,3},{4,5,6}} is correct syntax but uses explicit var with type on both sides (valid but less common). var matrix [][]int = {{1,2,3},{4,5,6}} is a slice of slices, not an array. var matrix [3][2]int = {{1,2},{3,4},{5,6}} has dimensions reversed (3 rows, 2 columns).
Final Answer:
matrix := [2][3]int{{1,2,3},{4,5,6}} -> Option C
Quick Check:
2D array = [rows][cols]type with nested braces [OK]
Hint: Use [rows][cols]type with nested braces to initialize [OK]
Common Mistakes:
Confusing slices with arrays
Swapping row and column sizes
Missing nested braces for 2D arrays
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.