Rust में Option<String> को Option<&str> में बदलना: सही तरीका क्या है?
सभी को नमस्कार! मैंने अभी Rust सीखना शुरू किया है और प्रकार रूपांतरण की समस्या का सामना करना पड़ा। मेरे पास एक function है जो `Option` लौटाता है, लेकिन मुझे इसके परिणाम को दूसरे function में पास करना है जो `Option<&str>` की अपेक्षा करता है।
यहाँ एक सरल उदाहरण है:
```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();
// print_name में name कैसे पास करें?
print_name(name); // संकलन त्रुटि!
}
```
कंपाइलर त्रुटि देता है: `expected Option<&str>, found Option`। मैं समझता हूँ कि `String` और `&str` अलग-अलग प्रकार हैं, लेकिन `Option` को `Option<&str>` में सही तरीके से कैसे बदलें?
मैंने ऐसा करने की कोशिश की: `print_name(name.as_deref())`, लेकिन मुझे यकीन नहीं है कि यह सही है। कृपया समझाएँ कि यह कैसे काम करता है और Rust में कौन सा तरीका idiomatic माना जाता है। पहले से धन्यवाद!