Syntax
switch expression
{
case caseStatement1 :
statements
case caseStatement2 :
statements
…..
…..
default
:
statements
break
}
HelloWorld.go
package main import "fmt" func main() { a := 10 switch a { case 10 : fmt.Println("Value of a is 10") case 20 : fmt.Println("Value of a is 20") } }
Output
Value of a is 10
Value of a is 10
If the
value in switch statement is not matched to anything, then default block gets
executed.
HelloWorld.go
package main import "fmt" func main() { a := 100 switch a { case 10 : fmt.Println("Value of a is 10") case 20 : fmt.Println("Value of a is 20") default : fmt.Println("Default block is executed") } }
Output
Default
block is executed
Just like
‘if’ statement in Go, you can add initialization in switch statement itself.
switch a
:=10; a {
}
HelloWorld.go
package main import "fmt" func main() { switch a :=10; a { case 10 : fmt.Println("Value of a is 10") case 20 : fmt.Println("Value of a is 20") default : fmt.Println("Default block is executed") } }
Output
Value of a
is 10
You can
even omit the expression after switch statement.
HelloWorld.go
package main import "fmt" func main() { a :=10 switch { case a == 10 : fmt.Println("Value of a is 10") case a > 5 : fmt.Println("Value of a is > 5") case a < 5 : fmt.Println("Value of a is < 5") default : fmt.Println("Default block is executed") } }
Output
Value of a
is 10
As you see
the output, even though both the cases, a == 10, a > 5 are
evaluating to
true, only first matching statement code gets executed.
No comments:
Post a Comment