Multi-Case

Multi-Case Switch in Go #

A multi-case switch allows a single case to match multiple values. This is useful when multiple conditions should execute the same code.

Syntax #

switch expression {
case x, y:
   // code block if expression equals x or y
case v, w:
   // code block if expression equals v or w
case z:
   // code block if expression equals z
default:
   // code block if expression does not match any case
}

Multi-Case Switch Example #

The example below uses a weekday number to return different text:

package main
import ("fmt")

func main() {
   day := 5

   switch day {
   case 1, 3, 5:
     fmt.Println("Odd weekday")
   case 2, 4:
     fmt.Println("Even weekday")
   case 6, 7:
     fmt.Println("Weekend")
   default:
     fmt.Println("Invalid day number")
   }
}

Result:

Odd weekday

How it works: #

  • The switch expression is evaluated once.
  • The value is checked against all case values.
  • If it matches any value in a case (e.g., 1, 3, 5), the corresponding block executes.
  • The default case executes if no match is found.