在Rust中,函数可能需要Into<String>
:
fn get_by_key<S: Into<String>>(&self, key: S) -> Option<&Value>;
是否可以传入对字符串的引用,因此在将String
传递给函数时(使用Into<&String>>
之类的东西)无需克隆linearDamping
?
答案 0 :(得分:5)
您可以简单地让您的函数接受&str
,然后通过隐式取消引用它来传递&String
。
请参阅deref coercion。
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);
}