rust / intermediate
Snippet
Struct-Update-Syntax mit ..
Die Struct-Update-Syntax ermöglicht das Erstellen einer neuen Struct-Instanz während die meisten Felder von einer existierenden kopiert werden. Felder, die nicht explizit gesetzt werden, nehmen ihre Werte vom Quell-Struct, was Boilerplate reduziert.
snippet.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#[derive(Default, Debug)]struct Config {timeout: u32,max_retries: u32,debug_mode: bool,}fn main() {let default_cfg = Config::default();let custom_cfg = Config {timeout: 30,..default_cfg};println!("{:?}", custom_cfg);}
Erklärung
1
..default_cfg
Kopiert alle verbleibenden Felder von default_cfg, die nicht explizit gesetzt werden
2
timeout: 30,
Nur timeout wird geändert; andere Felder kommen von default_cfg