match
Source: compiler/src/builtin_docs/keywords.md Compares a value against patterns and evaluates the first arm that matches.
Arms are pattern => expression separated by commas. Patterns can be enum
variants (with nested payload patterns), integer literals, bindings, and _
inside a payload. The arms must cover every case; default => catches the
rest. match is an expression, so it yields a value.
fn label(Option<int> code) -> string {
return match code {
Option::Some(200) => "ok",
Option::Some(_) => "other",
Option::None => "none",
};
}
See also#
fn: Declares a function, a method, or (written in an expression) an anonymous function.let: Declares a mutable local variable.const: Declares a binding that cannot be reassigned: a local, a module constant, or a class field that is set only bynew.static: Declares a module-level or class-level slot shared by the whole program, or a method withoutself.readonly: A read-only view of a value: nothing reachable through it can be changed.if: Runs a block when aboolcondition is true.else: Introduces the branch of anifthat runs when its condition is false (or its pattern does not match).while: Repeats a block while aboolcondition is true.