Rust 编程中的从和进入特征
From和Into是Rust为我们提供的两个特性。它们是内在联系的。
从特质
当我们想要定义如何从任何其他类型创建自身的特征时,我们会使用From特征。它提供了一种非常简单的机制,我们可以通过它在多种类型之间进行转换。
例如,我们可以轻松地将str转换为String。
示例
考虑下面显示的示例:
fn main() {
let my_str = "hello";
let my_string = String::from(my_str);
println!("{}",my_string);
}输出结果hello
我们甚至可以转换我们自己的类型。
示例
考虑下面显示的示例:
use std::convert::From;
#[derive(Debug)]
struct Num {
value: i64,
}
impl From for Num {
fn from(item: i64) -> Self {
Num { value: item }
}
}
fn main() {
let num = Num::from(30);
println!("My number is {:?}", num);
}输出结果My number is Num { value: 30 }进入特质
Intotrait正好是Fromtrait的倒数,它通常需要转换为类型的规范,因为大多数时候,编译器无法确定。
示例
考虑下面显示的示例:
use std::convert::From;
#[derive(Debug)]
struct Num {
value: i64,
}
impl From for Num {
fn from(item: i64) -> Self {
Num { value: item }
}
}
fn main() {
let int = 5;
let num: Num = int.into();
println!("My number is {:?}", num);
}输出结果My number is Num { value: 5 }热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短