Rust 可能通过一个'&;str';或'&;字符串';使用';进入';?

Rust 可能通过一个'&;str';或'&;字符串';使用';进入';?,rust,Rust,在Rust中,函数可以将转换为: fn通过按键获取按键(&self,按键:S)->选项; 是否可以传入对字符串的引用,这样在将字符串传递到函数中时就不需要克隆它(使用类似的方法将其传递到>)?您只需让函数接受&str,然后传递一个&string即可隐式取消引用它 看 您只需让函数接受&str,然后传递一个&字符串,该字符串将通过隐式取消引用来工作 看 fn get_by_key<S: Into<String>>(&self, key: S) -> Opti

在Rust中,函数可以将
转换为

fn通过按键获取按键(&self,按键:S)->选项;

是否可以传入对字符串的引用,这样在将
字符串传递到函数中时就不需要克隆它(使用类似
的方法将其传递到>
)?

您只需让函数接受
&str
,然后传递一个
&string
即可隐式取消引用它


您只需让函数接受
&str
,然后传递一个
&字符串,该字符串将通过隐式取消引用来工作

fn get_by_key<S: Into<String>>(&self, key: S) -> Option<&Value>;
fn main() {
    fn get_by_key(_key: &str) {}

    let s1: &str = "foo";
    let s2: String = "foo".into();

    get_by_key(s1);
    get_by_key(&s2);
}