考虑以下陈述:
我不明白的是什么?
From<T> for U
意味着 Into<U> for T
。source
let t="abc";
并注意到 t
的类型为 &str
每个人都使用过:let s=String::from(t);
因此我们有:From<&str> for String
根据上述蕴含关系,我们有:Into<String> for &str
然而,以下内容无法正常工作:
fn main(){
let z="abc";
let x = String::from(z);
let s=&str::into(x);
}
我不明白的是什么?
String::from
并不意味着String
实现了From
特质。 - jthulhulet s = &str::into(z);
吗? - LeopardSharkString::from()
”?就我个人而言,我使用.to_owned()
,我知道很多人使用.to_string()
或者.into()
(但是<&str>::into()
相对较少见,因为为什么要使用这种方式,当你可以使用方法语法呢?) - Chayim Friedmanfrom
关联函数的类型通常不这样做是因为它们实现了From
特质。 - jthulhu