|
|
@ -260,7 +260,7 @@ fn returns_summarizable() -> impl Summary {
|
|
|
|
|
|
|
|
|
|
|
|
这个签名表明,“我要返回某个实现了 `Summary` trait 的类型,但是不确定其具体的类型”。在例子中返回了一个 `Tweet`,不过调用方并不知情。
|
|
|
|
这个签名表明,“我要返回某个实现了 `Summary` trait 的类型,但是不确定其具体的类型”。在例子中返回了一个 `Tweet`,不过调用方并不知情。
|
|
|
|
|
|
|
|
|
|
|
|
这有什么用呢?在第十三章中,我们会学些两个大量依赖 trait 的功能:闭包和迭代器。这些功能创建只有编译器知道的类型,或者是非常非常长的类型。`impl Trait` 允许你简单的说 “返回一个 `Iterator`” 而无需写出实际的冗长的类型。
|
|
|
|
这有什么用呢?在第十三章中,我们会学习两个大量依赖 trait 的功能:闭包和迭代器。这些功能创建只有编译器知道的类型,或者是非常非常长的类型。`impl Trait` 允许你简单的说 “返回一个 `Iterator`” 而无需写出实际的冗长的类型。
|
|
|
|
|
|
|
|
|
|
|
|
不过这只适用于返回单一类型的情况。例如,这样就 **不行**:
|
|
|
|
不过这只适用于返回单一类型的情况。例如,这样就 **不行**:
|
|
|
|
|
|
|
|
|
|
|
|