📖 Scenario: You are building a simple program to identify the type of day based on a number. This is like checking the day of the week where numbers 1 to 7 represent Monday to Sunday.
🎯 Goal: Learn how to use a switch expression in Go to print the correct day name for a given number.
📋 What You'll Learn
Create a variable dayNumber with an integer value
Create a switch expression using dayNumber
Use case statements for numbers 1 to 7 with corresponding day names
Use default case to handle invalid numbers
Print the day name or an error message
💡 Why This Matters
🌍 Real World
Switch statements are used in many programs to choose actions based on user input or data values, like menus or commands.
💼 Career
Understanding switch expressions is important for writing clear and efficient decision-making code in Go, useful in backend development and system programming.
Progress0 / 4 steps
1
Create the day number variable
Create an integer variable called dayNumber and set it to 3.
Go
Hint
Use := to declare and assign the variable in one step.
2
Start the switch expression
Add a switch expression using the variable dayNumber inside the main function.
Go
Hint
Write switch dayNumber { to start the switch expression.
3
Add cases for days 1 to 7 and default
Inside the switch dayNumber, add case statements for numbers 1 to 7. For each case, use fmt.Println to print the day name: "Monday" for 1, "Tuesday" for 2, "Wednesday" for 3, "Thursday" for 4, "Friday" for 5, "Saturday" for 6, and "Sunday" for 7. Add a default case that prints "Invalid day number".
Go
Hint
Each case ends with a colon and the code to run is indented below it.
4
Run and print the output
Run the program and print the output. The program should print the day name for dayNumber = 3.
Go
Hint
Run the program and check the output matches the expected day name.
Practice
(1/5)
1. What does a switch statement do in Go?
easy
A. It runs all cases one after another.
B. It chooses one case to run based on a value or condition.
C. It only works with numbers, not strings.
D. It repeats the same case multiple times automatically.
Solution
Step 1: Understand switch purpose
A switch statement selects one matching case based on a value or condition.
Step 2: Confirm behavior
It stops after the first matching case, so only one case runs.
Final Answer:
It chooses one case to run based on a value or condition. -> Option B
Quick Check:
Switch picks one matching case [OK]
Hint: Switch picks only the first matching case [OK]
Common Mistakes:
Thinking switch runs all cases
Believing switch only works with numbers
Assuming switch repeats cases automatically
2. Which of the following is the correct syntax for a basic switch statement in Go?
easy
A. switch (value) { case 1: doSomething() default: doDefault() }
B. switch value do { case 1: doSomething() default: doDefault() }
C. switch value then { case 1: doSomething() default: doDefault() }
D. switch value { case 1: doSomething() default: doDefault() }
Solution
Step 1: Recall Go switch syntax
Go uses switch value { case ... } without parentheses or extra keywords.
Step 2: Check options
switch value { case 1: doSomething() default: doDefault() } matches correct syntax; others add invalid keywords or parentheses.
Final Answer:
switch value { case 1: doSomething() default: doDefault() } -> Option D
Quick Check:
Go switch uses braces, no parentheses [OK]
Hint: No parentheses around switch value in Go [OK]
Common Mistakes:
Adding parentheses around switch value
Using 'then' or 'do' keywords incorrectly
Misplacing braces or colons
3. What is the output of this Go code?
package main
import "fmt"
func main() {
x := 3
switch x {
case 1:
fmt.Println("One")
case 2, 3:
fmt.Println("Two or Three")
default:
fmt.Println("Other")
}
}
medium
A. One
B. Other
C. Two or Three
D. No output
Solution
Step 1: Identify switch value and cases
Variable x is 3. The switch checks cases 1, then 2 or 3, then default.
Step 2: Match case
Case 2, 3 matches because x is 3, so it prints "Two or Three".
Final Answer:
Two or Three -> Option C
Quick Check:
3 matches case 2,3 [OK]
Hint: Check all case values including multiple ones [OK]
Common Mistakes:
Ignoring multiple values in one case
Choosing default instead of matching case
Assuming case 3 is separate from case 2
4. Identify the error in this Go switch code:
package main
import "fmt"
func main() {
x := 5
switch {
case x == 1:
fmt.Println("One")
case x == 5:
fmt.Println("Five")
case x == 10:
fmt.Println("Ten")
}
}
medium
A. No error; code runs and prints "Five"
B. Switch expression is missing a value but cases use conditions
C. Missing default case causes error
D. Case statements must be constants, not conditions
Solution
Step 1: Understand switch without expression
Switch without a value allows cases to be conditions (boolean expressions).
Step 2: Check cases and output
x is 5, so case x == 5 is true, printing "Five". No error occurs.
Final Answer:
No error; code runs and prints "Five" -> Option A
Quick Check:
Switch without value uses conditions [OK]
Hint: Switch without value uses boolean cases [OK]
Common Mistakes:
Thinking default is mandatory
Assuming switch must have a value
Believing case conditions are invalid
5. Given this Go code, what will be printed?
package main
import "fmt"
func main() {
score := 75
switch {
case score >= 90:
fmt.Println("Grade A")
case score >= 80:
fmt.Println("Grade B")
case score >= 70:
fmt.Println("Grade C")
default:
fmt.Println("Fail")
}
}
hard
A. Grade C
B. Grade B
C. Fail
D. Grade A
Solution
Step 1: Analyze switch without expression
Switch uses conditions in cases, evaluated top to bottom.
Step 2: Evaluate conditions for score = 75
score >= 90 is false, score >= 80 is false, score >= 70 is true, so prints "Grade C" and stops.
Final Answer:
Grade C -> Option A
Quick Check:
First true case runs, here score >= 70 [OK]
Hint: Switch stops at first true condition [OK]
Common Mistakes:
Ignoring order of cases
Assuming all true cases print
Confusing >= with >
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.