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
1
2
3
4
5
let s1 = String::from("hello");let s2 = s1;// println!("{}", s1); // This would cause a compile errorprintln!("{}", 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.