Pattern Matching
The following examples present pattern matching using the match
keyword for the catch-all case.
Encouraged
The _
is used for the catch-all to indicate the important cases have been defined above and the last case is not important enough to warrant a name.
fn unnamed_case(shape: Shape) {
let value = match shape {
Shape::Triangle => 3,
Shape::Quadrilateral => 4,
Shape::Pentagon => 5,
_ => 0,
};
}
Alternative
We may apply an appropriate name to provide context to the reader; however, unless it provides additional information the preferred usage is defined in the encouraged
case.
fn named_case(shape: Shape) {
let value = match shape {
Shape::Triangle => 3,
Shape::Quadrilateral => 4,
Shape::Pentagon => 5,
_invalid_shape => 0,
};
}