特性(Trait)
在前一章中,我们学习了Rust的类型和所有权系统的基础知识。现在是时候深入研究一下了:我们将探索特质,Rust对接口的理解。
一旦你了解了特质,你就会开始到处看到它们的踪迹。实际上,你已经在前一章中看到了特质的实际应用,比如.into()
调用以及诸如==
和+
这样的运算符。
除了特质这一概念之外,我们还将涵盖Rust标准库中定义的一些关键特质:
- 运算符特质(例如
Add
、Sub
、PartialEq
等) From
和Into
,用于不可失败的转换Clone
和Copy
,用于复制值Deref
和解引用强制转换Sized
,标记具有已知大小的类型Drop
,用于自定义清理逻辑
既然我们将要讨论转换,我们也会借此机会填补前一章中的一些“知识空白”——比如,"A title"
确切是什么?也是时候更深入学习切片了!
参考资料
- 本节练习位于
exercises/04_traits/00_intro