Bird
Raised Fist0
Goprogramming~15 mins

Switch statement in Go - Mini Project: Build & Apply

Choose your learning style10 modes available
Using Switch Statement in Go
📖 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

  1. Step 1: Understand the purpose of switch

    A switch statement chooses one path among many based on a value.
  2. Step 2: Compare with other options

    Loops repeat code, functions define behavior, variables store data. Switch picks cases.
  3. Final Answer:

    It selects one case to run based on a value. -> Option A
  4. 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

  1. Step 1: Recall Go switch syntax

    Go uses switch variable { case value: ... default: ... } without parentheses.
  2. 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.
  3. Final Answer:

    switch x { case 1: fmt.Println("One") default: fmt.Println("Other") } -> Option B
  4. 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

  1. Step 1: Identify the switch variable and value

    The variable x is 2.
  2. Step 2: Match the case with value 2

    The case 2 matches and prints "Two".
  3. Final Answer:

    Two -> Option A
  4. 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

  1. Step 1: Check case syntax

    Each case must end with a colon (:). Here, case 1 misses the colon.
  2. Step 2: Verify other parts

    Default case exists, switch variable can be int, fmt.Println is correct.
  3. Final Answer:

    Missing colon after case 1 -> Option D
  4. 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

  1. Step 1: Group weekend days in one case

    Using case 6, 7: groups Saturday and Sunday together.
  2. Step 2: Use default for other days

    Default prints "Weekday" for days 1 to 5.
  3. Final Answer:

    switch day { case 6, 7: fmt.Println("Weekend") default: fmt.Println("Weekday") } -> Option C
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard