Usare il builder pattern in Rust con typed-builder

Mattepuffo's logo
Usare il builder pattern in Rust con typed-builder

Usare il builder pattern in Rust con typed-builder

typed-builder è una delle librerie che ci permette di implementare il builder pattern in Rust.

Molto facile da usare, supporta anche i parametri opzionali e i valori di default.

Per installarla possiamo aggiungere questa dipendenza al Cargo.toml:

[dependencies]
typed-builder = "0.12.0"

Qui sotto tre esempi:

use typed_builder::TypedBuilder;

#[derive(TypedBuilder)]
struct Test {
    par_1: i32,
    #[builder(default, setter(strip_option))]
    par_2: Option<i32>,
    #[builder(default = "CIAO".to_string())]
    par_3: String,
}

fn main() {
    let test1 = Test::builder().par_1(10).build();
    println!("{} - {:?} - {}", test1.par_1, test1.par_2, test1.par_3);

    let test2 = Test::builder().par_1(10).par_3("CIAO CORE".to_string()).par_2(20).build();
    println!("{} - {:?} - {}", test2.par_1, test2.par_2, test2.par_3);

    let test3 = Test::builder().par_1(10).par_2(13).build();
    println!("{} - {:?} - {}", test3.par_1, test3.par_2, test3.par_3);
}

Enjoy!


Condividi

Commentami!