πWhen-Cases
When-Case syntax
when <expr> @ <Return Type Of Below exprs> {
is <expr> -> <expr>
is <expr> -> <expr>
is <expr> -> <expr>
default -> <expr>
}
A when-case is equivalent to a switch case, except:
when-cases are expressions, not statements
The
default
case is requiredNew scopes cannot be used on the left side of the arrow. Only expressions can.
Working Example
package main
import "fmt" as fmt
fun main(): Unit {
let language = "Gauntlet"
let reaction = when language @ String {
is "Gauntlet" -> "smiled"
is "Java" -> "threw up"
is "C++" -> "ripped my hair out"
is "PHP" -> "died"
default -> "laughed"
}
fmt.println("When I found out I was required to program in " + language + ", I " + reaction + "!")
}
Last updated