Rust 高级特性深入解析
新类型模式与 Display 实现
在 Rust 中,我们可以围绕 Vec<String> 创建一个包装类型(Wrapper type)来实现 Display 特性。例如:
// 假设这里有一个包装类型的实现
// 实现 Display 时使用 self.0 访问内部的 Vec<T>
// 因为 Wrapper 是元组结构体,Vec<T> 是元组中索引为 0 的项
实现 Display 时使用 self.0 访问内部的 Vec<T> ,这是因为 Wrapper 是元组结构体, Vec<T> 是元组中索引为 0 的项。这样我们就可以在 Wrapper 上使用 Display 类型的功能。
不过,使用这种技术有一个缺点, Wrapper 是一个新类型,它没有所包含值的方法。我们必须直接在 Wrapper 上实现 Vec<T> 的所有方法,使这些方法委托给 self.0 ,这样我们才能像对待 Vec<T> 一样对待 Wrapper 。如果我
超级会员免费看
订阅专栏 解锁全文
700

被折叠的 条评论
为什么被折叠?



