- 介绍
- 1. Hello World
❱
- 1.1. 注释
- 1.2. 格式化打印
❱
- 1.2.1. 调试 Debug
- 1.2.2. 显示 Display
❱
- 1.2.2.1. 测试实例:列表
- 1.2.3. 格式化
- 2. 原生类型
❱
- 2.1. 字面量和运算符
- 2.2. 元组
- 2.3. 数组和切片
- 3. 自定义类型
❱
- 3.1. 结构体
- 3.2. 枚举
❱
- 3.2.1. use
- 3.2.2. C 风格用法
- 3.2.3. 测试实例:链表
- 3.3. 常量
- 4. 变量绑定
❱
- 4.1. 可变性
- 4.2. 作用域和遮蔽
- 4.3. 先声明
- 4.4. 冻结
- 5. 类型
❱
- 5.1. 类型转换
- 5.2. 字面量
- 5.3. 类型推断
- 5.4. 别名
- 6. 转换
❱
- 6.1. From 和 Into
- 6.2. TryFrom 和 TryInto
- 6.3. String 类型转换
- 7. 表达式
- 8. 控制流
❱
- 8.1. if/else
- 8.2. loop
❱
- 8.2.1. 嵌套和标签
- 8.2.2. 在 loop 中返回值
- 8.3. while
- 8.4. for 和 range
- 8.5. match
❱
- 8.5.1. 解构
❱
- 8.5.1.1. 元组
- 8.5.1.2. 数组/切片
- 8.5.1.3. 枚举
- 8.5.1.4. 指针/引用
- 8.5.1.5. 结构体
- 8.5.2. 守卫
- 8.5.3. 绑定
- 8.6. if let
- 8.7. let-else
- 8.8. while let
- 9. 函数
❱
- 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. 通过迭代器搜索
- 9.3. 高阶函数
- 9.4. 发散函数
- 10. 模块
❱
- 10.1. 可见性
- 10.2. 结构体可见性
- 10.3. use 声明
- 10.4. super 和 self
- 10.5. 文件分层
- 11. Crates
❱
- 11.1. 创建库
- 11.2. 使用库
- 12. Cargo
❱
- 12.1. 依赖
- 12.2. 约定
- 12.3. 测试
- 12.4. 构建脚本
- 13. 属性
❱
- 13.1. dead_code
- 13.2. Crates
- 13.3. cfg
❱
- 13.3.1. 自定义
- 14. 泛型
❱
- 14.1. 函数
- 14.2. 实现
- 14.3. 特质
- 14.4. 约束
❱
- 14.4.1. 测试实例:空约束
- 14.5. 多重约束
- 14.6. Where 分句
- 14.7. 新类型惯用法
- 14.8. 关联项
❱
- 14.8.1. 问题
- 14.8.2. 关联类型
- 14.9. 虚类型参数
❱
- 14.9.1. 测试实例:单位澄清
- 15. 作用域规则
❱
- 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. 特质
- 15.4.6. 约束
- 15.4.7. 强制转换
- 15.4.8. 静态
- 15.4.9. 省略
- 16. 特质
❱
- 16.1. 派生
- 16.2. 使用 dyn 返回 trait
- 16.3. 运算符重载
- 16.4. Drop
- 16.5. 迭代器
- 16.6. impl Trait
- 16.7. 克隆
- 16.8. 父特质
- 16.9. 消除重叠特质的歧义
- 17. macro_rules!
❱
- 17.1. 语法
❱
- 17.1.1. 指示符
- 17.1.2. 重载
- 17.1.3. 重复
- 17.2. DRY(不要重复自己)
- 17.3. DSL(领域特定语言)
- 17.4. 可变参数
- 18. 错误处理
❱
- 18.1. panic
- 18.2. abort 和 unwind
- 18.3. Option 和 unwrap
❱
- 18.3.1. 使用 ? 解包 Option
- 18.3.2. 组合器:map
- 18.3.3. 组合器:and_then
- 18.3.4. 默认值:or、or_else、get_or_insert、get_or_insert_with
- 18.4. Result
❱
- 18.4.1. Result 的 map
- 18.4.2. Result 的别名
- 18.4.3. 提前返回
- 18.4.4. 引入 ?
- 18.5. 多种错误类型
❱
- 18.5.1. 从 Option 中提取 Result
- 18.5.2. 定义错误类型
- 18.5.3. 使用 Box 将错误装箱
- 18.5.4. ? 的其他用途
- 18.5.5. 包装错误
- 18.6. 遍历 Result
- 19. 标准库类型
❱
- 19.1. Box、栈和堆
- 19.2. Vectors
- 19.3. 字符串
- 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. 标准库中的其他内容
❱
- 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. 测试
❱
- 21.1. 单元测试
- 21.2. 文档测试
- 21.3. 集成测试
- 21.4. 开发依赖
- 22. 不安全操作
❱
- 22.1. 内联汇编
- 23. 兼容性
❱
- 23.1. 原始标识符
- 24. 补充
❱
- 24.1. 文档
- 24.2. Playground