<The Rust Programming Language> 配套视频(第19章-第20章)

内容来自杨旭老师 Rust编程语言入门教程(Rust语言/Rust权威指南配套)【已完结】



第19章 高级特性

不安全Rust
不安全超能力
解引用裸指针
调用不安全函数或方法
访问或修改一个可变静态变量
实现不安全trait
使用不安全代码的时机
高级trait
在trait的定义中使用关联类型指定占位类型
默认泛型参数和运算符重载
用于消除歧义的完全限定语法:调用相同名称的方法
用于在trait中附带另外一个trait功能的超trait
使用newtype模式在外部类型上实现外部trait
高级类型
使用newtype模式实现类型安全与抽象
使用类型别名创建同义类型
永不返回的Never类型
动态大小类型和Sized trait
高级函数与闭包
函数指针
返回闭包

宏与函数之间的差别
用于通用元编程的macro_rules!声明宏
基于属性创建代码的过程宏
如何编写一个自定义derive宏
属性宏
函数宏
总结



第20章 最后的项目:构建多线程Web服务器
构建单线程Web服务器
监听TCP连接
读取请求
仔细观察HTTP请求
编写响应
返回真正的HTML
验证请求有效性并选择性地响应
少许重构
把单线程服务器修改为多线程服务器
在现有的服务器实现中模拟一个慢请求
使用线程池改进吞吐量
优雅地停机与清理
为ThreadPool实现Drop trait
通知线程停止监听任务
总结

附录A 关键字
当前正在使用的关键字
将来可能会使用的保留关键字
原始标识符

附录B 运算符和符号
运算符
非运算符符号

附录C 可派生trait
面向程序员格式化输出的Debug
用于相等性比较的PartialEq和Eq
使用PartialOrd和Ord进行次序比较
使用Clone和Copy复制值
用于将值映射到另外一个长度固定的值的Hash
用于提供默认值的Default

附录D 有用的开发工具
使用rustfmt自动格式化代码
使用rustfix修复代码
使用Clippy完成更多的代码分析
使用Rust语言服务器来集成IDE

附录E 版本

标准库中很多地方都用了unsafe


cargo check

macro_rule! 有很多奇怪的语法,Rust团队正在致力于推出macro。 之后macro_rule!会被标记为弃用

Rust中没有反射

文章目录