Conversion de Option<String> en Option<&str> en Rust : comment faire correctement ?
Bonjour à tous ! Je viens de commencer à apprendre Rust et j'ai rencontré un problème de conversion de types. J'ai une fonction qui retourne `Option`, mais je dois passer son résultat à une autre fonction qui attend `Option<&str>`.
Voici un exemple simplifié :
```rust
fn get_name() -> Option {
Some("Alice".to_string())
}
fn print_name(name: Option<&str>) {
match name {
Some(n) => println!("Hello, {}", n),
None => println!("No name provided"),
}
}
fn main() {
let name = get_name();
// Comment passer name à print_name ?
print_name(name); // Erreur de compilation !
}
```
Le compilateur donne l'erreur : `expected Option<&str>, found Option`. Je comprends que `String` et `&str` sont des types différents, mais comment convertir correctement `Option