Switch case is a common control flow statement provided by every language.
Nim Provides case statements. These are similar to if else conditional expressions
Nim case statement example
case expression evaluates to a value, and the value is matched with of statement and executes statements inside it.
Syntax
case conditional_expression:
of "value":
// statements;
of "value":
// statements;
of "value":
// statements;
else:
//default case statements;
conditional_expression is evaluated to ordinal value data types such as strings, bool, chars, and integers, value is compared with of
value, and matched if
statements are executed.
conditional_expression can be variable.
if no matching is found, the default else statement is executed.
let number = 10
case number:
of 1:
echo "value is 1"
of 2:
echo "value is 2"
of 2:
echo "value is 3"
else:
echo "value is not 1 or 2 or 3"
Output:
value is not 1 or 2 or 3
of the statement contains a range of values using two dots operator
let number = 100
case number:
of 1..9:
echo "single digit"
of 10-99:
echo "double digit"
of 100-999:
echo "triple digit"
else:
echo " 4 or more digits"
Output
triple digit
of statement can also contain multiple values separated by a comma.
let number = 'two'
case number:
of 'one", 'two':
echo "one or two"
else:
echo " Not one or two"
Output
one or two