match — exhaustive. if let — single pattern.
match:
1let value = Some(5);2match value {3 Some(x) => println!("{}", x),4 None => println!("No value"),5}
if let:
1let value = Some(5);2if let Some(x) = value {3 println!("{}", x);4}
Key differences: