Rust 1.30.1
0a6fb2cbb

# Patterns

There is a new edition of the book and this is an old link.

> Patterns are a special syntax within Rust for matching against the structure of our types, complex or simple. A pattern is made up of some combination of literals; destructured arrays, enums, structs, or tuples; variables, wildcards, and placeholders. These pieces describe the “shape” of the data we’re working with.

    let x = Some(5);
    let y = 10;

    match x {
        Some(50) => println!("Got 50"),
        Some(y) => println!("Matched, y = {:?}", y),
        _ => println!("Default case, x = {:?}", x),
    }Run

Here are the relevant sections in the new and old books:

- In the second edition: Ch 18.03 — Patterns
- In the second edition: Ch 6.02 — Match
- In the first edition: Ch 3.15 — Patterns