Rust 程序设计(第 2 版)
Jim Blandy, Jason Orendorff, Leonora F. S. Tindall
软件工程师
1469 人已学习
立即订阅
登录后,你可以任选4讲全文学习
推荐试读
换一换
课程目录
已完结/共 41 讲
时长 02:41
时长 06:30
时长 10:04
时长 01:05
时长 50:06
时长 31:35
时长 34:39
时长 29:11
时长 37:15
时长 23:44
时长 44:19
时长 29:54
时长 39:01
时长 01:38
时长 01:15
时长 00:37
Rust 程序设计(第 2 版)
15
15
1.0x
00:00/00:00
登录|注册

第 13 章 实用工具特型

科学无非就是在自然界的多样性中寻求统一性(或者更确切地说,是在我们经验的多样性中寻求统一性)。用 Coleridge 的话说,诗歌、绘画、艺术,同样是在多样性中寻求统一性。
——Jacob Bronowski
本章讲解了所谓的 Rust“实用工具”特型,这是标准库中各种特型的“百宝箱”,它们对 Rust 的编写方式有相当大的影响,所以,只有熟悉它们,你才能写出符合 Rust 语言惯例的代码并据此为你的 crate 设计公共接口,让用户认为这些接口是符合 Rust 风格的。Rust 实用工具特型可分为三大类。
语言扩展特型
第 12 章中介绍的运算符重载特型能让你在自己的类型上使用 Rust 的表达式运算符,同样,还有其他几个标准库特型也是 Rust 的扩展点,允许你把自己的类型更紧密地集成进语言中。这类特型包括 DropDerefDerefMut,以及转换特型 FromInto。我们将在本章中讲解它们。
标记特型
这类特型多用作泛型类型变量的限界,以表达无法以其他方式捕获的约束条件。SizedCopy 就属于这类特型。
公共词汇特型
这类特型不涉及任何编译器魔术,你完全可以在自己的代码中定义其等效特型。之所以定义它们,是为了给常见问题制定一些约定俗成的解决方案。这对 crate 和模块之间的公共接口来说特别有价值:通过减少不必要的变体,让接口更容易理解,也增加了把来自不同 crate 的特性轻易插接在一起的可能性,而且无须样板代码或自定义胶水代码。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了Rust编程语言中的特型及其应用。重点介绍了Drop、Iterator、IntoIterator、Hash、Send、Sync等标准库特型的使用方法和实现原理,以及固定大小类型和无固定大小类型的概念及其在Rust中的应用和限制。此外,还介绍了Clone、Copy、Deref、DerefMut、Default、AsRef、AsMut、Borrow、BorrowMut、From和Into等特型的使用方法和注意事项,以及它们在Rust中的应用。特别是介绍了From和Into特型的实现原理,以及它们在类型转换中的作用。另外,还介绍了TryFrom和TryInto特型的容错转换机制,以及ToOwned特型的应用。通过详细介绍各种特型的使用方法和原理,为读者提供了重要的参考价值。文章内容丰富,适合想要深入了解Rust编程语言的读者阅读。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Rust 程序设计(第 2 版)》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部