Coder Social home page Coder Social logo

rustprimer's Introduction

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」
  3. Linux
  4. Mac
  5. Windows
  6. 编辑器
  7. 前期准备「wayslog」
  8. vim「wayslog」
  9. emacs「tiansiyuan」
  10. vscode「daogangtang」
  11. atom「wayslog」
  12. sublime「domty」
  13. visual studio「marvinguo」
  14. spacemacs「wayslog」
  15. Rust一小时快速入门「ee0703」
  16. 第一个Rust程序
  17. 简单的数学运算
  18. 快速上手
  19. Cargo项目管理器、crate「fuyingfuying」
  20. 基本程序结构「daogangtang」
  21. 注释
  22. 条件
  23. 循环
  24. 类型、运算符和字符串「wayslog」
  25. 基础类型
  26. 复合类型
  27. 字符串类
  28. 基础运算符和字符串格式化
  29. 函数「qdao」
  30. 函数参数
  31. 函数返回值
  32. 语句和表达式
  33. 高阶函数
  34. 模式匹配「wayslog」
  35. match关键字
  36. 模式
  37. Trait (特征)「JohnSmithX」
  38. trait关键字
  39. trait对象
  40. 泛型「stormgbs」
  41. 可变性、所有权、租借和生命期「stormgbs」
  42. 所有权
  43. 引用和借用
  44. 生命周期
  45. 闭包「qdao」
  46. 闭包的语法
  47. 闭包的实现
  48. 闭包作为参数和返回值
  49. 集合类型(Collections)「wayslog」
  50. 动态数组
  51. 哈希表
  52. 迭代器「wayslog」
  53. 迭代器、适配器、消费者
  54. 模块和包系统、Prelude「daogangtang」
  55. 模块(module)和包(crate)
  56. Prelude
  57. Option、Result与错误处理「JohnSmithX」
  58. 宏系统「tennix」
  59. 堆、栈与Box「tennix」
  60. 几种智能指针「daogangtang」
  61. Rc, Arc
  62. Mutex, RwLock
  63. Cell, RefCell
  64. 类型系统中的几个常见 Trait 「daogangtang」
  65. Into/From 及其在 String 和 &str 互转上的应用
  66. AsRef, AsMut
  67. Borrow, BorrowMut, ToOwned
  68. Deref 与 Deref coercions
  69. Cow 及其在 String 和 &str 上的应用
  70. Send 和 Sync「daogangtang」
  71. 并发,并行,多线程编程「anzhihun」
  72. 线程
  73. 消息传递
  74. 共享内存
  75. 同步
  76. 并行
  77. Unsafe、原始指针「JohnSmithX」
  78. Unsafe
  79. 原始指针
  80. FFI「42」
  81. rust调用ffi函数
  82. 将rust编译成库
  83. 运算符重载「wayslog」
  84. 属性和编译器参数「elton」
  85. 属性
  86. 编译器参数
  87. Cargo参数配置「fuyingfuying」
  88. 测试与评测「daogangtang」
  89. 测试 (testing)
  90. 评测 (benchmark)
  91. 代码风格「tiansiyuan」
  92. Any与反射「wayslog」
  93. 安全(safety)「daogangtang」
  94. 常用数据结构实现「Naupio」
  95. 栈结构
  96. 队列
  97. 优先队列
  98. 二叉树
  99. 链表
  100. 图结构
  101. 标准库介绍「wayslog」
  102. 系统命令:调用grep
  103. 目录操作:简单grep
  104. 网络模块:W回音
  105. 实战篇「wangyu190810」
  106. 实战:Json处理
  107. 实战:Web 应用开发入门
  108. 实战:使用Postgresql数据库

版权规定

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

gitbook生成

直接用:

gitbook serve

即可

ChangeLog

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

rustprimer's People

Contributors

anzhihun avatar chareice avatar dalek42 avatar defp avatar dovahcrow avatar dyxushuai avatar ee0703 avatar f001 avatar hzyczl avatar izgzhen avatar lambdaplus avatar lucklove avatar marvin-min avatar marvinguo avatar miketang84 avatar naupio avatar peng1999 avatar qdao avatar tennix avatar tiansiyuan avatar wangyu190810 avatar zhongke avatar ziqin avatar zonyitoo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.