logo资料库

给初学者的Rust中文教程 Rust Primer.pdf

第1页 / 共538页
第2页 / 共538页
第3页 / 共538页
第4页 / 共538页
第5页 / 共538页
第6页 / 共538页
第7页 / 共538页
第8页 / 共538页
资料共538页,剩余部分请下载后查看
Introduction
初识Rust
安装Rust
Linux
Mac
Windows
版本管理工具: rustup
编辑器
前期准备
vim
emacs
vscode
atom
sublime
visual studio
spacemacs
Rust快速入门
Rust旅程
变量绑定与原生类型
数组、动态数组和字符串
结构体与枚举
控制流
函数与方法
特性
注释与文档
输入输出流
Cargo项目管理器
基本程序结构
注释
条件
循环
类型、运算符和字符串
基础类型
复合类型
字符串类
基础运算符和字符串格式化
函数
函数参数
函数返回值
语句和表达式
高阶函数
模式匹配
match关键字
模式 pattern
特征 Trait
trait关键字
trait对象
泛型
可变性、所有权、租借和生命期
所有权
引用和借用
生命周期
闭包
闭包的语法
闭包的实现
闭包作为参数和返回值
集合类型 Collections
动态数组 Vec
哈希表 HashMap
迭代器
迭代器、适配器、消费者
模块和包系统、Prelude
模块 module 和包 crate
Prelude
pub restricted
Option、Result与错误处理
输入与输出
标准输入输出
print! 宏
文件输入输出
宏系统
堆、栈与Box
几种智能指针
Rc, Arc
Mutex, RwLock
Cell, RefCell
类型系统中的几个常见 Trait
Into/From 及其在 String 和 &str 互转上的应用
AsRef, AsMut
Borrow, BorrowMut, ToOwned
Deref 与 Deref coercions
Cow 及其在 String 和 &str 上的应用
Send 和 Sync
并发,并行,多线程编程
线程
消息传递
共享内存
同步
并行
Unsafe、原始指针
Unsafe
原始指针
FFI
rust调用ffi函数
将rust编译成库
运算符重载
属性和编译器参数
属性
编译器参数
Cargo参数配置
测试与评测
测试 (testing)
评测 (benchmark)
代码风格
Any与反射
安全
常用数据结构实现
栈结构
队列
二叉树
优先队列
链表
图结构
标准库介绍
系统命令:调用grep
目录操作:简单grep
网络模块:W回音
实战篇
实战:Json处理
实战:Web 应用开发入门
实战:使用Postgresql数据库
附录-术语表
目錄 Introduction 初识Rust 安装Rust Linux Mac Windows 版本管理工具: rustup 编辑器 前期准备 vim emacs vscode atom sublime visual studio spacemacs Rust快速入门 Rust旅程 变量绑定与原生类型 数组、动态数组和字符串 结构体与枚举 控制流 函数与方法 特性 注释与文档 输入输出流 Cargo项目管理器 1.1 1.2 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6 1
基本程序结构 注释 条件 循环 类型、运算符和字符串 基础类型 复合类型 字符串类 基础运算符和字符串格式化 函数 函数参数 函数返回值 语句和表达式 高阶函数 模式匹配 match关键字 模式 pattern 特征 Trait trait关键字 trait对象 泛型 可变性、所有权、租借和生命期 所有权 引用和借用 生命周期 闭包 闭包的语法 闭包的实现 闭包作为参数和返回值 集合类型 Collections 1.7 1.7.1 1.7.2 1.7.3 1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.9 1.9.1 1.9.2 1.9.3 1.9.4 1.10 1.10.1 1.10.2 1.11 1.11.1 1.11.2 1.12 1.13 1.13.1 1.13.2 1.13.3 1.14 1.14.1 1.14.2 1.14.3 1.15 2
动态数组 Vec 哈希表 HashMap 迭代器 迭代器、适配器、消费者 模块和包系统、Prelude 模块 module 和包 crate Prelude pub restricted Option、Result与错误处理 输入与输出 标准输入输出 print! 宏 文件输入输出 宏系统 堆、栈与Box 几种智能指针 Rc, Arc Mutex, RwLock Cell, RefCell 类型系统中的几个常见 Trait Into/From 及其在 String 和 &str 互转上的应用 AsRef, AsMut Borrow, BorrowMut, ToOwned Deref 与 Deref coercions Cow 及其在 String 和 &str 上的应用 Send 和 Sync 并发,并行,多线程编程 线程 消息传递 共享内存 1.15.1 1.15.2 1.16 1.16.1 1.17 1.17.1 1.17.2 1.17.3 1.18 1.19 1.19.1 1.19.2 1.19.3 1.20 1.21 1.22 1.22.1 1.22.2 1.22.3 1.23 1.23.1 1.23.2 1.23.3 1.23.4 1.23.5 1.24 1.25 1.25.1 1.25.2 1.25.3 3
同步 并行 Unsafe、原始指针 Unsafe 原始指针 FFI rust调用ffi函数 将rust编译成库 运算符重载 属性和编译器参数 属性 编译器参数 Cargo参数配置 测试与评测 测试 (testing) 评测 (benchmark) 代码风格 Any与反射 安全 常用数据结构实现 栈结构 队列 二叉树 优先队列 链表 图结构 标准库介绍 系统命令:调用grep 目录操作:简单grep 网络模块:W回音 1.25.4 1.25.5 1.26 1.26.1 1.26.2 1.27 1.27.1 1.27.2 1.28 1.29 1.29.1 1.29.2 1.30 1.31 1.31.1 1.31.2 1.32 1.33 1.34 1.35 1.35.1 1.35.2 1.35.3 1.35.4 1.35.5 1.35.6 1.36 1.36.1 1.36.2 1.36.3 4
实战篇 实战:Json处理 实战:Web 应用开发入门 实战:使用Postgresql数据库 附录-术语表 1.37 1.37.1 1.37.2 1.37.3 1.38 5
Introduction RustPrimer The Rust primer for beginners. 给初学者的Rust中文教程。 在线阅读地址 点我阅读 也可复制以下链接: https://rustcc.gitbooks.io/rustprimer/content/ 社区 QQ群 群号: Rust语言中文社区 144605258 (已满) Rust编程语言社区2群 303838735 进群必须附带您的github地址,否则不予通过 社区 chat: https://chat.rust-china.org/ (使用github验证登录) blog: https://rust-china.org/ wiki: https://wiki.rust-china.org/ 6
Introduction 版权规定 本书使用 CC BY-SA 3.0 协议,转载请注明地址。 GitBook 生成 直接用: gitbook serve 即可。 ChangeLog 1. 2016年3月31日,初稿完成。发布 v1.0 版。 2. 2016年5月2日,完成 1.1.0 版本。 7
初识Rust Rust 是一门系统级编程语言,被设计为保证内存和线程安全,并防止段错误。作为 系统级编程语言,它的基本理念是 “零开销抽象”。理论上来说,它的速度与 C / C++ 同级。 Rust 可以被归为通用的、多范式、编译型的编程语言,类似 C 或者 C++。与这两 门编程语言不同的是,Rust 是线程安全的! Rust 编程语言的目标是,创建一个高度安全和并发的软件系统。它强调安全性、并 发和内存控制。尽管 Rust 借用了 C 和 C++ 的语法,它不允许空指针和悬挂指针, 二者是 C 和 C++ 中系统崩溃、内存泄露和不安全代码的根源。 Rust 中有诸如 if else 和循环语句 for 和 while 的通用控制结构。和 C 和 C++ 风格 的编程语言一样,代码段放在花括号中。 Rust 使用实现(implementation)、特征(trait)和结构化类型(structured type) 而不是类(class)。这点,与基于继承的OO语言 C++, Java 有相当大的差异。而 跟 Ocaml, Haskell 这类函数式语言更加接近。 Rust 做到了内存安全而无需 .NET 和 Java 编程语言中实现自动垃圾收集器的开 销,这是通过所有权/借用机制、生命周期、以及类型系统来达到的。 下面是一个代码片段的例子,经典的 Hello World 应用: fn main() { println!("hello, world"); } 影响了 Rust 的流行的编程语言包括 C, C++, C#, Erlang, Haskell, OCaml, Ruby, Scheme 和 Swift 等等。Rust 也影响了 C# 7, Elm, Idris, Swift。 Rust 提供了安装程序,你只需要从官网下载并在相应的操作系统上运行安装程序。 安装程序支持 Windows、Mac 和 Linux(通过脚本)上的32位和64位 CPU 体系架 构,适用 Apache License 2.0 或者 MIT Licenses。 Rust 运行在以下操作系统上:Linux, OS X, Windows, FreeBSD, Android, iOS。 简单提一下 Rust 的历史。Rust 最早是 Mozilla 雇员 Graydon Hoare 的一个个人项 目,从 2009 年开始,得到了 Mozilla 研究院的支助,2010 年项目对外公布。2010 ~2011 年间实现的自举。从此以后,Rust 经历了巨大的设计变化和反复(历程极 其艰辛),终于在 2015 年 5 月 15日发布了 1.0 版。在这个研发过程中,Rust 建 8
分享到:
收藏