📖 Scenario: You are creating a simple program that tells the type of day based on a number input. This is like checking the day of the week where 1 means Monday, 2 means Tuesday, and so on.
🎯 Goal: Build a Go program that uses a switch statement to print the name of the day for numbers 1 to 7. If the number is not between 1 and 7, print "Invalid day".
📋 What You'll Learn
Create a variable dayNumber with an integer value.
Create a switch statement using dayNumber.
Use case blocks for numbers 1 to 7 to print the correct day name.
Use default case to print "Invalid day" for other numbers.
💡 Why This Matters
🌍 Real World
Switch statements are used in many programs to choose actions based on different values, like menu selections or day names.
💼 Career
Understanding switch statements helps in writing clear and efficient code for decision making in software development jobs.
Progress0 / 4 steps
1
Create the dayNumber variable
Create an integer variable called dayNumber and set it to 3.
Go
Hint
Use := to declare and assign the variable in one line.
2
Start the switch statement
Add a switch statement using the variable dayNumber inside the main function.
Go
Hint
Write switch dayNumber { to start the switch block.
3
Add cases for days 1 to 7 and default
Inside the switch dayNumber, add case blocks for numbers 1 to 7. Use fmt.Println to print the day names: 1 - Monday, 2 - Tuesday, 3 - Wednesday, 4 - Thursday, 5 - Friday, 6 - Saturday, 7 - Sunday. Add a default case to print "Invalid day".
Go
Hint
Each case ends with a colon and the code to run is indented below it.
4
Print the result
Run the program to print the day name for dayNumber. The output should be Wednesday.
Go
Hint
Just run the program. It will print the day name automatically.
Practice
(1/5)
1. What does a switch statement do in Go?
easy
A. It selects one case to run based on a value.
B. It repeats code multiple times like a loop.
C. It defines a new function.
D. It declares a variable.
Solution
Step 1: Understand the purpose of switch
A switch statement chooses one path among many based on a value.
It selects one case to run based on a value. -> Option A
Quick Check:
Switch = Select case [OK]
Hint: Switch picks one matching case to run [OK]
Common Mistakes:
Confusing switch with loops
Thinking switch defines functions
Believing switch declares variables
2. Which of the following is the correct syntax for a basic switch statement in Go?
easy
A. switch (x) { case 1: fmt.Println("One") default: fmt.Println("Other") }
B. switch x { case 1: fmt.Println("One") default: fmt.Println("Other") }
C. switch x: case 1: fmt.Println("One") default: fmt.Println("Other")
D. switch x { case 1 => fmt.Println("One") default => fmt.Println("Other") }
Solution
Step 1: Recall Go switch syntax
Go uses switch variable { case value: ... default: ... } without parentheses.
Step 2: Check each option
switch x { case 1: fmt.Println("One") default: fmt.Println("Other") } matches correct syntax. switch (x) { case 1: fmt.Println("One") default: fmt.Println("Other") } wrongly uses parentheses. switch x: case 1: fmt.Println("One") default: fmt.Println("Other") uses colon after switch. switch x { case 1 => fmt.Println("One") default => fmt.Println("Other") } uses => which is invalid.
Final Answer:
switch x { case 1: fmt.Println("One") default: fmt.Println("Other") } -> Option B
Quick Check:
Correct syntax = switch x { case 1: fmt.Println("One") default: fmt.Println("Other") } [OK]
Hint: No parentheses around switch variable in Go [OK]
Common Mistakes:
Adding parentheses around switch variable
Using colon after switch keyword
Using => instead of colon in cases
3. What will be the output of this Go code?
package main
import "fmt"
func main() {
x := 2
switch x {
case 1:
fmt.Println("One")
case 2:
fmt.Println("Two")
case 3:
fmt.Println("Three")
default:
fmt.Println("Other")
}
}
medium
A. Two
B. Three
C. One
D. Other
Solution
Step 1: Identify the switch variable and value
The variable x is 2.
Step 2: Match the case with value 2
The case 2 matches and prints "Two".
Final Answer:
Two -> Option A
Quick Check:
Switch x=2 prints "Two" [OK]
Hint: Match switch value to case label [OK]
Common Mistakes:
Choosing default instead of matching case
Confusing case numbers
Ignoring switch variable value
4. Find the error in this Go switch code:
package main
import "fmt"
func main() {
x := 3
switch x {
case 1
fmt.Println("One")
case 2:
fmt.Println("Two")
default:
fmt.Println("Other")
}
}
medium
A. fmt.Println syntax error
B. Missing default case
C. Switch variable must be string
D. Missing colon after case 1
Solution
Step 1: Check case syntax
Each case must end with a colon (:). Here, case 1 misses the colon.
Step 2: Verify other parts
Default case exists, switch variable can be int, fmt.Println is correct.
Final Answer:
Missing colon after case 1 -> Option D
Quick Check:
Case syntax requires colon [OK]
Hint: Each case must end with a colon (:) [OK]
Common Mistakes:
Omitting colon after case
Thinking default is mandatory
Assuming switch variable must be string
5. How can you write a Go switch statement that prints "Weekend" for Saturday and Sunday, and "Weekday" for other days (1=Monday, 7=Sunday)?
hard
A. switch day {
case day == 6 || day == 7:
fmt.Println("Weekend")
default:
fmt.Println("Weekday")
}
B. switch day {
case 6:
fmt.Println("Weekend")
case 7:
fmt.Println("Weekday")
default:
fmt.Println("Weekday")
}
C. switch day {
case 6, 7:
fmt.Println("Weekend")
default:
fmt.Println("Weekday")
}
D. switch day {
case 6:
fmt.Println("Weekend")
case 7:
fmt.Println("Sunday")
default:
fmt.Println("Weekday")
}
Solution
Step 1: Group weekend days in one case
Using case 6, 7: groups Saturday and Sunday together.
Step 2: Use default for other days
Default prints "Weekday" for days 1 to 5.
Final Answer:
switch day {
case 6, 7:
fmt.Println("Weekend")
default:
fmt.Println("Weekday")
} -> Option C
Quick Check:
Multiple values in one case = switch day {
case 6, 7:
fmt.Println("Weekend")
default:
fmt.Println("Weekday")
} [OK]
Hint: Use commas to group cases in Go switch [OK]
Common Mistakes:
Separating weekend days into different cases with wrong output
Using logical OR inside switch expression incorrectly
Missing default case for weekdays
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.