想起最初学的时候被网上的文章绕的晕头转向,特此跑来写个文章
不讲原理只讲使用,快速的说清楚
fn f() -> impl Trait
返回一个且只有一个实现了这个Trait的类型,编译器会自动把这个类型填写上去,通常用于不知道/写不出来具体类型的情况,比如闭包
fn f() -> Box<dyn Trait>
可以返回多个实现了这个Trait的类型,通常也就是用于这个场景
想起最初学的时候被网上的文章绕的晕头转向,特此跑来写个文章
不讲原理只讲使用,快速的说清楚
fn f() -> impl Trait
返回一个且只有一个实现了这个Trait的类型,编译器会自动把这个类型填写上去,通常用于不知道/写不出来具体类型的情况,比如闭包
fn f() -> Box<dyn Trait>
可以返回多个实现了这个Trait的类型,通常也就是用于这个场景