阅读量:0
在 Rust 中,可以通过实现 From
trait 和 Into
trait 来实现 stol 与自定义类型之间的转换。
首先,让我们定义一个自定义类型 MyType
:
struct MyType { value: i32, } impl MyType { fn new(value: i32) -> MyType { MyType { value } } }
然后,让我们实现 From
trait 和 Into
trait 来实现 stol 到 MyType
的转换:
impl From<i32> for MyType { fn from(value: i32) -> Self { MyType::new(value) } } impl Into<i32> for MyType { fn into(self) -> i32 { self.value } }
现在,我们就可以将一个 i32
类型的值转换为 MyType
类型的值:
let my_type: MyType = 42.into();
同样地,我们也可以将一个 MyType
类型的值转换为 i32
类型的值:
let value: i32 = my_type.into();
通过实现 From
trait 和 Into
trait,我们可以很方便地进行 stol 与自定义类型之间的转换,使代码更加灵活和可读。