Golang program that uses switch, multiple value cases
Switch statement is a multiway branching which provides an alternative way too lengthy if-else comparisons. It selects a single block to be executed from a listing of multiple blocks on the basis of the value of an expression or state of a single variable. A switch statement using multiple value cases correspond to using more than one value in a single case. This is achieved by separating the multiple values in the case with a comma.
Example 1:
Go
// Golang program to illustrate the // use of switch with multiple value cases package main import ( "fmt" ) func main() { // string to input month from user var month string fmt.Scanln(&month) // switch case for predicting // seasons for month entered // each switch case has more // than one values switch month { case "january" , "december" : fmt.Println( "Winter." ) case "february" , "march" : fmt.Println( "Spring." ) case "april" , "may" , "june" : fmt.Println( "Summer." ) case "july" , "august" : fmt.Println( "Monsoon." ) case "september" , "november" : fmt.Println( "Autumn." ) } } |
Input : january Output : Winter. Input : september Output : Autumn.
Rather than making different individual cases for months having the same season, we clubbed different months with the same output. This saves us to write redundant pieces of code.
Example 2:
Go
// Golang program to illustrate the // use of switch with multiple value cases package main import ( "fmt" ) func main() { // integer to input number from // user (only 1-10) var number int fmt.Scanln(&number) // switch case for predicting // whether the number is even or odd // each switch case has more // than one values switch number { case 2 , 4 , 6 , 8 , 10 : fmt.Println( "You entered an even number." ) case 1 , 3 , 5 , 7 , 9 : fmt.Println( "You entered an odd number." ) } } |
Input : 6 Output : You entered an even number. Input : 5 Output : You entered an odd number.
Instead of writing 10 different cases to check whether the entered number is even or not, we could simply do the same in 2 switch cases using multiple case values.
Example 3:
Go
// Golang program to illustrate the // use of switch with multiple value cases package main import ( "fmt" ) func main() { // character input (a-z or A-Z) var alphabet string fmt.Scanln(&alphabet) // switch case for predicting // whether the character is // uppercase or lowercase // each switch case has more // than one values switch alphabet { case "a" , "b" , "c" , "d" , "e" , "f" , "g" , "h" , "i" , "j" , "k" , "l" , "m" , "n" , "o" , "p" , "q" , "r" , "s" , "t" , "u" , "v" , "w" , "x" , "y" , "z" : fmt.Println( "Lowercase alphabet character." ) case "A" , "B" , "C" , "D" , "E" , "F" , "G" , "H" , "I" , "J" , "K" , "L" , "M" , "N" , "O" , "P" , "Q" , "R" , "S" , "T" , "U" , "V" , "W" , "X" , "Y" , "Z" : fmt.Println( "Uppercase alphabet character." ) } } |
Input : g Output : Lowercase alphabet character. Input : F Output : Uppercase alphabet character.
Please Login to comment...