Skip to content

本书已经正式出版,目前正预售,可在京东搜索《深入RUST标准库》即可。本书主要对RUST的标准库代码进行分析,并试图给出RUST标准库代码的分析脉络。This project try to give a venation of how reading the RUST standard library source code.

License

Notifications You must be signed in to change notification settings

Warrenren/inside-rust-std-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

16ecc66 · Dec 28, 2024
Jun 14, 2022
Jun 13, 2022
Jun 11, 2022
Jun 13, 2022
Jun 12, 2022
Jun 13, 2022
Jul 10, 2022
Jun 14, 2022
May 1, 2022
Jun 14, 2022
Jul 10, 2022
Jun 14, 2022
Jul 10, 2022
Jun 14, 2022
Jul 10, 2022
Jul 10, 2022
Jul 10, 2022
Jul 10, 2022
Jul 10, 2022
Jul 10, 2022
Jul 10, 2022
Jan 19, 2022
Dec 28, 2024
Jul 10, 2022
Jun 14, 2022

Repository files navigation

inside-rust-std-library

实体书已经出版,名字为《深入rust标准库》,正在预售,可在京东搜索到。欢迎大家采购实体书籍,给作者一些支持。
本书主要对RUST的标准库代码进行分析。
本书尽可能给读者找出一条标准库代码的阅读脉络。同时,分析不仅仅针对代码的功能,也针对代码背后的需求及若干代码设计的思路。
C语言精通的标志是对指针的精通。RUST的裸指针也是RUST的最基础及最核心的难点之一。 所以,将裸指针及相关的内存模块作为代码分析的起始点,熟悉了裸指针及内存,自然也就对所有权,借用,生命周期的本质有了深刻的理解,RUST语言的最难关便过了。
泛型是RUST不可分割的语法之一,而对于其他语言,没有泛型不影响语言的使用。泛型及基于trait的泛型约束是RUST的另一个代码基础。
针对基本类型的分析,可以看到RUST利用trait语法使之具备了无限的扩展性,这是RUST更有表现力的语法能力的展现。
Option/Result<T,E>等类型实际完全是由标准库定义的,并不是RUST语言最底层的基本内容,可以从代码分析中发现这一点。
所有的运算符都可以重载,且可以跨越类型重载,RUST的运算符重载揭示了RUST很多的编码奥秘及技巧。
Iterator加闭包是函数式编程的基础构架,Iterator的适配器构成了函数式编程的基础设施,RUST完整的实现了这些内容,并且几乎为每个类型都实现了迭代器,并尽可能的为函数式编程做好了准备。
Cell/RefCell/Pin/Lazy代码证明了在RUST的基础语法下,如何创造性的解决问题。
Box/RawVec是两个堆内存申请的基本结构,善用这两个结构,除非写内存管理,基本上就不必再接触底层的堆内存申请及释放。
每一个智能指针实际上也是RUST对经典的数据结构实现的精妙例程。
RUST对不同操作系统的适配让程序员不必象C那样再重复的耗费精力并且还沾沾自喜于此份工作。
仅支持异步编程的async/await,Future也体现了RUST的作最基础的工作的态度。
...
...

如果您觉得内容对您有帮助,请扫码下面的微信付款码对作者给以赞助或购买实体书 :)。 image

About

本书已经正式出版,目前正预售,可在京东搜索《深入RUST标准库》即可。本书主要对RUST的标准库代码进行分析,并试图给出RUST标准库代码的分析脉络。This project try to give a venation of how reading the RUST standard library source code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published