rust / beginner
Snippet
Unveränderliche und veränderliche Referenzen
Rust verwendet Referenzen, um auf Daten zuzugreifen, ohne das Ownership zu übernehmen. Unveränderliche Referenzen (&T) erlauben Lesen aber nicht Ändern. Veränderliche Referenzen (&mut T) erlauben beides, aber du kannst nur EINE veränderliche Referenz gleichzeitig haben - dies verhindert Data Races zur Kompilierzeit.
snippet.rs
1
2
3
4
5
6
7
8
9
10
fn main() {let mut data = vec![1, 2, 3];let immut_ref = &data;println!("Immutable: {:?}", immut_ref);let mut_ref = &mut data;mut_ref.push(4);println!("Mutable: {:?}", mut_ref);}
Erklärung
1
let mut data = vec![1, 2, 3];
Erstellt einen veränderlichen Vektor mit drei Elementen
2
let immut_ref = &data;
Erstellt eine unveränderliche Referenz auf data
3
let mut_ref = &mut data;
Erstellt eine veränderliche Referenz - exklusiver Zugriff
4
mut_ref.push(4);
Modifiziert die Daten durch die veränderliche Referenz