Switch-Case
Switch-Case Syntax (Expressions)
switch <expr> {
case <expr> : {
<case body>
}
case <expr> : {
<case body>
}
// The default case is optional
default : {
<default case body>
}
}
Switch-Case Syntax (Types)
switch typeof <expr> {
case <Type> : {
<case body>
}
case <Type> : {
<case body>
}
// The default case is optional
default : {
<default case body>
}
}
Working Example
package main
import "fmt" as fmt
fun Unit main() {
let result = (1 + 2) - 1
fmt.println("Evaluating the result of (1 + 2) - 1 ...")
switch result {
case 1: {
fmt.println("It's one")
}
case 2: {
fmt.println("It's two")
}
case 3: {
fmt.println("It's three")
}
default: {
fmt.println("It's not one, two, or three.")
}
}
fmt.println("And also...")
let Any a = 1
switch typeof a {
case String: {
fmt.println("1 is a String!")
}
case Int: {
fmt.println("1 is an Int!")
}
}
}
package main
import fmt "fmt"
func main() {
result := (1 + 2) - 1
fmt.Println("Evaluating the result of (1 + 2) - 1 ...")
switch result {
case 1:
{
fmt.Println("It's one")
}
case 2:
{
fmt.Println("It's two")
}
case 3:
{
fmt.Println("It's three")
}
default:
{
fmt.Println("It's not one, two, or three.")
}
}
fmt.Println("And also...")
var a any = 1
switch a.(type) {
case string:
{
fmt.Println("1 is a String!")
}
case int:
{
fmt.Println("1 is an Int!")
}
}
// Eliminates any 'unused variable' errors
_, _ = a, result
}
Evaluating the result of (1 + 2) - 1 ...
It's two
And also...
1 is an Int!
Last updated