capypad
0 Tage Serie
rust / beginner
Snippet

Ownership verstehen: Der Move

In Rust wird bei der Zuweisung eines komplexen Typs wie String an eine andere Variable der Wert zum neuen Besitzer 'verschoben'. Die ursprüngliche Variable wird ungültig.

snippet.rs
rust
1
2
3
4
5
let s1 = String::from("hello");
let s2 = s1;
 
// println!("{}", s1); // This would cause a compile error
println!("{}", s2);
Erklärung
1
let s2 = s1;
Die Ownership des Strings wird von s1 auf s2 übertragen.
2
// println!(..., s1);
Der Zugriff auf s1 ist hier unzulässig, da sein Wert verschoben wurde.