struct Version {
major: u32,
minor: u32,
}
impl From<&str> for Version {
fn from(s: &str) -> Self {
let parts: Vec<_> = s.split('.').collect();
let major = parts[0].parse().unwrap();
let minor = parts[1].parse().unwrap();
Version { major, minor }
}
}
在这个例子里面,&str表示转换源类型,即我们要将一个&str类型的值转换源类型,即我们要将一个&str类型的值转换为Version类型实现了From<&str> trait,意味着我们可以将一个&str类型的值转换为Version类型。
我们在使用的时候应该这样使用:let version: Version = "1.2".into();
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。