在 Rust 中,一个函数可以接受 Into<String>
。 :
fn get_by_key<S: Into<String>>(&self, key: S) -> Option<&Value>;
是否可以传递对字符串的引用,因此无需克隆 String
将它传递给函数时(使用类似 Into<&String>>
的东西)?
最佳答案
您可以简单地让您的函数接受 &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);
}
关于rust - 可以使用 '&str' 传递 '&String' 或 'Into' 以在 Rust 中运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41499789/