capypad
0 Tage Serie
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
rust
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