Rust Trait+ 系列
这篇文章介绍了一系列 Rust 中利用 trait 实现的通用能力或惯用法,这些内容也是 Rust 编程中较常见的概念、方法和技巧,实用性很强,我称之为“Trait+ 系列”。
建议先阅读 Rust 中的特征 (Trait) 一文,配合食用效果更佳。
…这篇文章介绍了一系列 Rust 中利用 trait 实现的通用能力或惯用法,这些内容也是 Rust 编程中较常见的概念、方法和技巧,实用性很强,我称之为“Trait+ 系列”。
建议先阅读 Rust 中的特征 (Trait) 一文,配合食用效果更佳。
…前段时间用 Rust 写了一个 Exif/Metadata 解析库 nom-exif,里面涉及到对 ISOBMFF 的解析,趁着还有点印象,总结一下这种文件格式。
…Rust 的异步特性很强大,相对也比较复杂。
为了更好的理解 Rust 的异步特性,本文分别从 Rust 异步的特点、与多线程的对比、异步的用法介绍及注意事项、内部实现机制、和其他语言的横向对比等多个方面进行阐述。
…Pin
?引入 Pin
的目的主要是为了支持 自引用类型 (self-referential types) 。下面我们以
Future
为例,解释一下自引用类型以及引入 Pin
的必要性。
由于异步块/异步函数中可能包含对局部变量的引用,例如下面的代码:
…下面的例子中, borrow checker 会检查 r
的生命周期 'a
比其引用的数据的生命周期 'b
要长,因此会拒绝编译通过。