How to Use map, filter, and fold with Closures

Transform, select, and reduce data in Rust using map, filter, and fold with closures.

Use map to transform items, filter to keep items matching a condition, and fold to reduce a collection into a single value by passing closures to iterator methods.

let numbers = vec![1, 2, 3, 4, 5];

// Map: square each number
let squared: Vec<i32> = numbers.iter().map(|&x| x * x).collect();

// Filter: keep only even numbers
let evens: Vec<i32> = numbers.iter().filter(|&&x| x % 2 == 0).collect();

// Fold: sum all numbers
let sum: i32 = numbers.iter().fold(0, |acc, &x| acc + x);