Rust: Closures

When to use

We want to be able to specify some code in one place in our program, but then only execute that code if we actually need the result in some other place in our program.

An example from TRPL

let expensive_closure = |num| { 
    println!("calculating slowly..."); 
    thread::sleep(Duration::from_secs(2)); 
    num 
};

Note

  • If we try to use a different type with the same closure, we will get an error.
Advertisements