Konvertierung von Option<String> zu Option<&str> in Rust: Wie macht man es richtig?
Hallo zusammen! Ich habe gerade angefangen, Rust zu lernen, und bin auf ein Problem mit der Typkonvertierung gestoßen. Ich habe eine Funktion, die `Option` zurückgibt, aber ich muss ihr Ergebnis an eine andere Funktion übergeben, die `Option<&str>` erwartet.
Hier ist ein vereinfachtes Beispiel:
```rust
fn get_name() -> Option {
Some("Alice".to_string())
}
fn print_name(name: Option<&str>) {
match name {
Some(n) => println!("Hallo, {}", n),
None => println!("Kein Name angegeben"),
}
}
fn main() {
let name = get_name();
// Wie übergebe ich name an print_name?
print_name(name); // Compiler-Fehler!
}
```
Der Compiler gibt einen Fehler aus: `expected Option<&str>, found Option`. Ich verstehe, dass `String` und `&str` unterschiedliche Typen sind, aber wie konvertiert man `Option