前言
Rust 程序设计语言(第二版 & 2018 edition)
Introduction Rust
rust
KaiserY
105页
•
Star
•
2020年3月6日收录
开始阅读
书籍推荐
Rust 程序设计语言 中文版
hltj
•
rust
•
71页
•
2018年6月5日
1
一起来学算法吧!
MisterBooo
•
code
•
1页
•
2019年5月26日
97
安卓逆向系列教程
wizardforcel
•
android
•
20页
•
2018年5月3日
87
[译] 写给不耐烦程序员的 JavaScript
ApacheCN
•
javascript
•
52页
•
2019年5月26日
145
《SpringBoot参考指南》中文翻译 基于1.5.7 RELEASE
wangjingjing
•
springboot
•
100页
•
2018年6月24日
1
Android官方培訓課程中文版
jasonblog
•
android
•
294页
•
2018年5月29日
1
小字
大字
宋体
黑体
白天
护眼
夜晚
封面
简介
Rust 程序设计语言
前言
介绍
入门指南
安装
Hello, World!
Hello, Cargo!
猜猜看游戏教程
常见编程概念
变量与可变性
数据类型
函数如何工作
注释
控制流
认识所有权
什么是所有权?
引用与借用
Slices
使用结构体来组织相关联的数据
定义并实例化结构体
一个使用结构体的示例程序
方法语法
枚举与模式匹配
定义枚举
`match` 控制流运算符
`if let` 简洁控制流
使用包、Crate 和模块管理不断增长的项目
包和 crate
定义模块来控制作用域与私有性
路径用于引用模块树中的项
使用 `use` 关键字将名称引入作用域
将模块分割进不同文件
常见集合
vector
字符串
哈希 map
错误处理
`panic!` 与不可恢复的错误
`Result` 与可恢复的错误
`panic!` 还是不 `panic!`
泛型、trait 与生命周期
泛型数据类型
trait:定义共享的行为
生命周期与引用有效性
测试
编写测试
运行测试
测试的组织结构
一个 I/O 项目:构建命令行程序
接受命令行参数
读取文件
重构以改进模块化与错误处理
采用测试驱动开发完善库的功能
处理环境变量
将错误信息输出到标准错误而不是标准输出
Rust 中的函数式语言功能:迭代器与闭包
闭包:可以捕获其环境的匿名函数
使用迭代器处理元素序列
改进之前的 I/O 项目
性能比较:循环对迭代器
更多关于 Cargo 和 Crates.io 的内容
采用发布配置自定义构建
将 crate 发布到 Crates.io
Cargo 工作空间
使用 `cargo install` 从 Crates.io 安装二进制文件
Cargo 自定义扩展命令
智能指针
`Box
` 指向堆上数据,并且可确定大小
通过 `Deref` trait 将智能指针当作常规引用处理
`Drop` Trait 运行清理代码
`Rc
` 引用计数智能指针
`RefCell
` 与内部可变性模式
引用循环与内存泄漏是安全的
无畏并发
线程
消息传递
共享状态
可扩展的并发:`Sync` 与 `Send`
Rust 的面向对象编程特性
面向对象语言的特点
为使用不同类型的值而设计的 trait 对象
面向对象设计模式的实现
模式用来匹配值的结构
所有可能会用到模式的位置
Refutability:何时模式可能会匹配失败
模式的全部语法
高级特征
不安全的 Rust
高级 trait
高级类型
高级函数与闭包
宏
最后的项目: 构建多线程 web server
单线程 web server
将单线程 server 变为多线程 server
优雅停机与清理
附录
A - 关键字
B - 运算符与符号
C - 可派生的 trait
D - 实用开发工具
E - 版本
F - 本书译本
G - Rust 是如何开发的与 “Nightly Rust”