Avatar ·

Wie behebe ich den Fehler "use of moved value" in Rust?

Hallo! Ich habe angefangen, Rust zu lernen und stoße ständig auf den Fehler "use of moved value". Hier ist ein einfaches Beispiel, das ihn auslöst:\n\n```rust\nfn main() {\n let s = String::from("привет");\n let t = s;\n println!("{}", s); // Fehler: use of moved value: `s`\n}\n```\n\nIch verstehe, dass Rust streng auf Ownership achtet, aber ich kann nicht herausfinden, wie man Daten richtig zwischen Variablen und Funktionen übergibt. Zum Beispiel möchte ich eine Funktion schreiben, die einen String entgegennimmt, etwas damit macht, und dann möchte ich diesen String in main wiederverwenden:\n\n```rust\nfn process(s: String) -> String {\n // irgendeine Verarbeitung\n s\n}\n\nfn main() {\n let my_string = String::from("тест");\n let result = process(my_string);\n println!("{}", my_string); // schon wieder ein Fehler!\n}\n```\n\nWarum passiert das?