在 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 与自定义类型之间的转换,使代码更加灵活和可读。