github

rustcc / RustPrimer

  • воскресенье, 3 апреля 2016 г. в 03:12:45
https://github.com/rustcc/RustPrimer

Rust
The Rust primer for beginners.



RustPrimer

The Rust primer for beginners. 给初学者的Rust中文教程。

协作规则

  1. 每个参与撰写的成员fork本项目,通过提pr的形式来协作书写;
  2. 本书源码使用markdown语法格式书写;
  3. 原则上每章(如有小节则每小节)对应独立的md文件;文件命名规则:章节号加名字,如第三章第二节03-02-emacs.md;
  4. 在本项目的issue区提issue来认领各自负责的章节,项目评审组审核后会在大纲每个章节标题后面,标注已由谁认领,预计什么时间完成;
  5. 本项目会组织评审委员会来负责审校内容质量,审核通过后,才会合并pr。

格式排版

  1. 按github上的markdown规范来;
  2. 中英文之间使用一个空格隔开。

写作要求

理论与实践结合,多举例,把事情讲清楚。必要时逐行分析,不怕啰嗦。要求描述精确,给出的示例尽量完整,能复制到文件中直接编译。所有给的例子,都要求能正常编译通过。举例的代码风格要符合官方规范,尽量消除警告。

大纲

  1. 初识Rust「daogangtang, tiansiyuan」
  2. 安装Rust「marvin-min」
    1. Linux
    2. Mac
    3. Windows
  3. 编辑器
    1. 前期准备「wayslog」
    2. vim「wayslog」
    3. emacs「tiansiyuan」
    4. vscode「daogangtang」
    5. atom「wayslog」
    6. sublime「domty」
    7. visual studio「marvinguo」
    8. spacemacs「wayslog」
  4. Rust一小时快速入门「ee0703」
    1. 第一个Rust程序
    2. 简单的数学运算
    3. 快速上手
  5. Cargo项目管理器、crate「fuyingfuying」
  6. 基本程序结构「daogangtang」
    1. 注释
    2. 条件
    3. 循环
  7. 类型、运算符和字符串「wayslog」
    1. 基础类型
    2. 复合类型
    3. 字符串类
    4. 基础运算符和字符串格式化
  8. 函数「qdao」
    1. 函数参数
    2. 函数返回值
    3. 语句和表达式
    4. 高阶函数
  9. 模式匹配「wayslog」
    1. match关键字
    2. 模式
  10. Trait (特征)「JohnSmithX」
    1. trait关键字
    2. trait对象
  11. 泛型「stormgbs」
  12. 可变性、所有权、租借和生命期「stormgbs」
    1. 所有权
    2. 引用和借用
    3. 生命周期
  13. 闭包「qdao」
    1. 闭包的语法
    2. 闭包的实现
    3. 闭包作为参数和返回值
  14. 集合类型(Collections)「wayslog」
    1. 动态数组
    2. 哈希表
  15. 迭代器「wayslog」
    1. 迭代器、适配器、消费者
  16. 模块和包系统、Prelude「daogangtang」
    1. 模块(module)和包(crate)
    2. Prelude
  17. Option、Result与错误处理「JohnSmithX」
  18. 宏系统「tennix」
  19. 堆、栈与Box「tennix」
  20. 几种智能指针「daogangtang」
    1. Rc, Arc
    2. Mutex, RwLock
    3. Cell, RefCell
  21. 类型系统中的几个常见 Trait 「daogangtang」
    1. Into/From 及其在 String 和 &str 互转上的应用
    2. AsRef, AsMut
    3. Borrow, BorrowMut, ToOwned
    4. Deref 与 Deref coercions
    5. Cow 及其在 String 和 &str 上的应用
  22. Send 和 Sync「daogangtang」
  23. 并发,并行,多线程编程「anzhihun」
    1. 线程
    2. 消息传递
    3. 共享内存
    4. 同步
    5. 并行
  24. Unsafe、原始指针「JohnSmithX」
    1. Unsafe
    2. 原始指针
  25. FFI「42」
    1. rust调用ffi函数
    2. 将rust编译成库
  26. 运算符重载「wayslog」
  27. 属性和编译器参数「elton」
    1. 属性
    2. 编译器参数
  28. Cargo参数配置「fuyingfuying」
  29. 测试与评测「daogangtang」
    1. 测试 (testing)
    2. 评测 (benchmark)
  30. 代码风格「tiansiyuan」
  31. Any与反射「wayslog」
  32. 安全(safety)「daogangtang」
  33. 常用数据结构实现「Naupio」
    1. 栈结构
    2. 队列
    3. 优先队列
    4. 二叉树
    5. 链表
    6. 图结构
  34. 标准库介绍「wayslog」
    1. 系统命令:调用grep
    2. 目录操作:简单grep
    3. 网络模块:W回音
  35. 实战篇「wangyu190810」
    1. 实战:Json处理
    2. 实战:Web 应用开发入门
    3. 实战:使用Postgresql数据库

版权规定

本书使用 CC BY-NC-SA 4.0 协议,转载请注明地址。

gitbook生成

直接用:

gitbook serve

即可

ChangeLog

  1. 2016年3月31日,初稿完成。发布 v1.0 版。