The basic URL is:
https://rustwiki.org/zh-CN/rust-by-example/hello.html
-
- Hello World
-
1.1. 注释
-
1.2. 格式化输出
-
1.2.1. 调试(debug)
-
1.2.2. 显示(display)
-
1.2.3. 测试实例:List
-
1.2.4. 格式化
-
-
- 原生类型
-
2.1. 字面量和运算符
-
2.2. 元组
-
2.3. 数组和切片
-
- 自定义类型
-
3.1. 结构体
-
3.2. 枚举
-
3.2.1. 使用 use
-
3.2.2. C 风格用法
-
3.2.3. 测试实例:链表
-
-
3.3. 常量
-
- 变量绑定
-
4.1. 可变变量
-
4.2. 作用域和遮蔽
-
4.3. 变量先声明
-
4.4. 冻结
-
- 类型系统
-
5.1. 类型转换
-
5.2. 字面量
-
5.3. 类型推断
-
5.4. 别名
-
- 类型转换
-
6.1. From 和 Into
-
6.2. TryFrom 和 TryInto
-
6.3. ToString 和 FromStr
-
- 表达式
-
- 流程控制
-
8.1. if/else
-
8.2. loop 循环
-
8.2.1. 嵌套循环和标签
-
8.2.2. 从 loop 循环返回
-
-
8.3. while 循环
-
8.4. for 循环和区间
-
8.5. match 匹配
-
8.5.1. 解构
-
8.5.1.1. 元组
-
8.5.1.2. 枚举
-
8.5.1.3. 指针和引用
-
8.5.1.4. 结构体
-
-
8.5.2. 卫语句
-
8.5.3. 绑定
-
-
8.6. if let
-
8.7. while let
-
- 函数
-
9.1. 方法
-
9.2. 闭包
-
9.2.1. 捕获
-
9.2.2. 作为输入参数
-
9.2.3. 类型匿名
-
9.2.4. 输入函数
-
9.2.5. 作为输出参数
-
9.2.6. std 中的例子
-
9.2.6.1. Iterator::any
-
9.2.6.2. Iterator::find
-
-
-
9.3. 高阶函数
-
9.4. 发散函数
-
- 模块
-
10.1. 可见性
-
10.2. 结构体的可见性
-
10.3. use 声明
-
10.4. super 和 self
-
10.5. 文件分层
-
- crate
-
11.1. 库
-
11.2. 使用库
-
- cargo
-
12.1. 依赖
-
12.2. 约定规范
-
12.3. 测试
-
12.4. 构建脚本
-
- 属性
-
13.1. 死代码 dead_code
-
13.2. crate
-
13.3. cfg
- 13.3.1. 自定义条件
-
- 泛型
-
14.1. 函数
-
14.2. 实现
-
14.3. trait
-
14.4. 约束
- 14.4.1. 测试实例:空约束
-
14.5. 多重约束
-
14.6. where 子句
-
14.7. newtype 惯用法
-
14.8. 关联项
-
14.8.1. 存在问题
-
14.8.2. 关联类型
-
-
14.9. 虚类型参数
- 14.9.1. 测试实例:单位检查
-
- 作用域规则
-
15.1. RAII
-
15.2. 所有权和移动
-
15.2.1. 可变性
-
15.2.2. 部分移动
-
-
15.3. 借用
-
15.3.1. 可变性
-
15.3.2. 别名使用
-
15.3.3. ref 模式
-
-
15.4. 生命周期
-
15.4.1. 显式标注
-
15.4.2. 函数
-
15.4.3. 方法
-
15.4.4. 结构体
-
15.4.5. trait
-
15.4.6. 约束
-
15.4.7. 强制转换
-
15.4.8. static
-
15.4.9. 省略
-
-
- 特质 trait
-
16.1. 派生
-
16.2. 使用 dyn 返回 trait
-
16.3. 运算符重载
-
16.4. Drop
-
16.5. Iterator
-
16.6. impl Trait
-
16.7. Clone
-
16.8. 父 trait
-
16.9. 消除重叠 trait
-
- 使用 macro_rules! 来创建宏
-
17.1. 语法
-
17.1.1. 指示符
-
17.1.2. 重载
-
17.1.3. 重复
-
-
17.2. DRY (不写重复代码)
-
17.3. DSL (领域专用语言)
-
17.4. 可变参数接口
-
- 错误处理
-
18.1. panic
-
18.2. Option 和 unwrap
-
18.2.1. 使用 ? 解开 Option
-
18.2.2. 组合算子:map
-
18.2.3. 组合算子:and_then
-
-
18.3. 结果 Result
-
18.3.1. Result 的 map
-
18.3.2. 给 Result 取别名
-
18.3.3. 提前返回
-
18.3.4. 引入 ?
-
-
18.4. 处理多种错误类型
-
18.4.1. 从 Option 中取出 Result
-
18.4.2. 定义一种错误类型
-
18.4.3. 把错误 “装箱”
-
18.4.4. ? 的其他用法
-
18.4.5. 包裹错误
-
-
18.5. 遍历 Result
-
- 标准库类型
-
19.1. 箱子、栈和堆
-
19.2. 动态数组 vector
-
19.3. 字符串 String
-
19.4. 选项 Option
-
19.5. 结果 Result
- 19.5.1. ? 用法
-
19.6. panic!
-
19.7. 散列表 HashMap
-
19.7.1. 更改或自定义关键字类型
-
19.7.2. 散列集 HashSet
-
-
19.8. 引用计数 Rc
-
19.9. 共享引用计数 Arc
-
- 标准库更多介绍
-
20.1. 线程
- 20.1.1. 测试实例:map-reduce
-
20.2. 通道
-
20.3. 路径
-
20.4. 文件输入输出(I/O)
-
20.4.1. 打开文件 open
-
20.4.2. 创建文件 create
-
20.4.3. 读取行 read lines
-
-
20.5. 子进程
-
20.5.1. 管道
-
20.5.2. 等待
-
-
20.6. 文件系统操作
-
20.7. 程序参数
- 20.7.1. 参数解析
-
20.8. 外部语言函数接口
-
- 测试
-
21.1. 单元测试
-
21.2. 文档测试
-
21.3. 集成测试
-
21.4. 开发依赖
-
- 不安全操作
-
- 兼容性
- 23.1. 原始标志符
-
- 补充
-
24.1. 文档
-
24.2. Playpen