match

Normal

match x:
    case 10:
        # ...
    case 20:
        # ...
    case _:
        # ...

String

match greeting:
    case "hi":
        # ...
    case "hello":
        # ...
    case _:
        # ...

Grouping

match x:
    case 10 | 20 | 30:
        # ...
    case _:
        # ...

Mit if statement

match x:
    case x if x % 2 == 0:
        # ...
    case _:
        # ...

Mit Listen

match my_list:
    case [a, b, c]:
        # ...
    case [a, b, c, d]:
        # ...
    case _:
        # ...

Mit Listen

match my_dict:
    case { "name": name, "age": age }:
        # ...
    case _:
        # ...

TODO test was wenn kein default, dann error so wie in Rust?