Rust的From与Into Trait
2023-12-13 03:56:17
    		Into的本质是调用了From Trait 的方法。
From是底层的方法,把From实现了,Into的实现,编译器会自动根据From Trait生成Into Trait的代码?

编译器自动类型推导出Into Trait的U的类型,调用了U类型的From的方法,实现其他类型转换本类型
fn main()->(){
    let x = ("".to_string(), 3);
    //编译器自动类型推导出Into Trait的U的类型,调用了U类型的From的方法
    // 不想给变量写类型
    let x1=Into::<Person>::into(x);
    // 给变量写类型
    let x1 :Person= x.into();
    println!("{}",x1.age)
}
// 定义一个简单的结构体
struct Person {
    name: String,
    age: u32,
}
// 为Person实现From trait,用于从元组转换为Person对象
impl From<(String, u32)> for Person {
    fn from(tuple: (String, u32)) -> Self {
        Person {
            name: tuple.0,
            age: tuple.1,
        }
    }
}
不同点:A转换B类型,为A实现From Trait,那么编译器就为B实现Into?
两个的Trait的功能都是转换B类型,而不是A转换B,B转换A
    			文章来源:https://blog.csdn.net/qq_46506007/article/details/134816808
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
    	本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!