首页 > Rust 阅读:756,920

周哥教IT-Rust精讲

Rust诞生于2014年。Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust在语法上和C++类似,但是设计者想要在保证性能的同时提供更好的内存安全。 Rust最初是由Mozilla研究院的Graydon Hoare设计创造,然后在Dave Herman, Brendan Eich以及很多其他人的贡献下逐步完善的。Rust的设计者们通过在研发Servo网站浏览器布局引擎过程中积累的经验优化了Rust语言和Rust编译器。 Rust编译器是在MIT License 和 Apache License 2.0双重协议声明下的免费开源软件。 Rust已经连续四年(2016,2017,2018,2019)在Stack Overflow开发者调查的“最受喜爱编程语言”评选项目中折取桂冠。 Rust是一门革命性的编程语言,它拥有和C/C++同样的高性能,却又比C/C++安全。它既无GC机制,又不用手动释放内存,还不会有各种溢出漏洞,Rust是C/C++,Go,Java等编程语言的直接竞争者。 Rust语言可以应用于命令行工具,Web服务,嵌入式,系统程序等的项目开发。微软的云开发者代言人Ryan Levick曾经在AllThingsOpen 虚拟会议上表示,微软正逐渐从C/C++改用Rust来构建其基础设施软件。微软还鼓励其他软件行业巨头考虑采取同样的做法。

目前使用Rust开发的知名产品包括: Mozilla Firefox 浏览器,Gecko 浏览器;Tor 浏览器; Discord(一款游戏聊天应用); GNOME Fractal(一款即时消息客户端); 谷歌 Fuchsia 操作系统; Redox OS; Rocket Web Framework; Servo(一款由 Mozilla 开发的网页浏览器排版引擎); Terminus DB(一款数据库软件); Libra(数字货币); OpenDNS Dropbox Cloudflare 本课详细介绍了Rust编程的各个方面,除了Rust的基础语法,尤其重点介绍了Rust最具创新性的特性,比如:所有权,生命周期,无畏并发等等。还介绍了如何在Rust里与Mysql,redis进行交互,如何解析json数据等;最后还演示了一个基于Rust的实战项目web服务器开发与优化。

第1章 序言
1.Rust简介
2.Java, GO, Rust等对比
3.企业使用Rust案例与Rust招聘
4.RUST开发环境安装
第2章 Rust Hello world开发与调试
1.Hello world编写与测试
2.Hello world调试
第3章 Cargo使用
1.Cargo使用
第4章 Rust变量与数据类型
1.数据类型(1):Rust变量与基本类型
2.数据类型(2):tuple与数组
第5章 Rust运算符
1.Rust运算符
第6章 Rust基本语句
1.if语句
2.loop语句
3.match语句
第7章 Rust函数
1.函数(1):函数定义与使用
2.函数(2):函数指针
3.函数(3):函数返回类型
4.函数(4):命令行参数
5.函数(5):从不返回的 never type !
第8章 结构体
1.结构体(1):定义与实例化
2.结构体(2):方法
第9章 枚举
1.枚举(1):定义
2.枚举(2):Match与枚举结合
3.枚举(3):标准库中的Option
第10章 模块与包管理
1.模块(1):二进制包
2.模块(2):模块拆分
3.模块(3):main.rs调用lib.rs
4.模块(4):库包
5.mod(5):pub 模块,函数,结构体,枚举等
6.mod(6):use关键字导入符号
7.mod(7):使用外部包
8.模块(8):workspace工作空间
9.模块(9):发布到crates.io
第11章 集合
1.集合(1):vector动态数组
2.集合(2):字符串
3.集合(3):hashmap
第12章 错误处理
1.错误处理(1):panic
2.错误处理(2):Result
3.错误处理(3):panic! or result?
第13章 文件IO
1.文件IO
第14章 各编程语言易混基础语法对比
1.各编程语言易混基础语法对比
第10章 泛型编程
1.函数泛型
2.结构体泛型
3.枚举泛型
4.方法泛型
5.单态化与性能分析
第10章 Trait编程
1.Trait编程(1):定义与实现
2.Trait编程(2):trait约束
3.Trait编程(3): traitbound 有条件方法
4.Trait编程(4):完全限定语法与消歧义
5.Trait编程(5):孤儿规则与新类型
6.Trait编程(6):动态大小类型DST
第10章 面向对象编程
1.面向对象(1):面向对象封装,继承
2.面向对象(2):多态
3.面向对象(3):trait对象动态分发
第10章 所有权
1.所有权(1):浅拷贝,移动move,深拷贝
2.所有权(2):Copy Trait
3.所有权(3):传参与返回值
4.所有权(4):引用和借用
5.所有权(5):&str字符串切片
第10章 生命周期
1.生命周期(1):借用检查器
2.生命周期(2):函数中的泛型生命周期
3.生命周期(3):结构体中的生命周期标注
4.生命周期(4):生命周期省略
5.生命周期(5):方法定义中的生命周期标注
6.生命周期(6):静态生命周期
7.生命周期(7):泛型参数、trait bounds
8.生命周期(8):生命周期子类型
9.生命周期(9):trait 对象生命周期的推断
10.生命周期(10):匿名生命周期
11.生命周期(11):swap函数实现分析
第10章 函数式编程/a>
1.函数式编程(1):闭包
2.函数式编程(2):返回闭包
3.函数式编程(3):迭代器
4.函数式编程(4):实现 Iterator trait
5.函数式编程(5):迭代器与循环性能分析
第10章 智能指针
1.智能指针(1):基本概念
2.智能指针(2):Box
3.智能指针(3):deref与drop
4.智能指针(4):RC
5.智能指针(5):Cell
6.智能指针(6):RefCell
7.智能指针(7):Rc和RefCell合用
8.智能指针(8):循环引用
9.智能指针(9):Weak
第10章 并发编程
1.并发编程(1):线程创建
2.并发编程(2):消息传递与通道
3.并发编程(3):数据共享与Mutex
4.并发编程(4):send和sync
第10章 不安全rust
1.裸指针和不安全函数
2.安全抽象
3.extern调用C函数
4.静态变量和不安全trait
第10章 Rust网络编程基础
1.Rust网络编程基础
第10章 Rust数据库编程
1.Rust数据库编程
第10章 Rust json支持
1.Rust json支持
第10章 Rust访问redis
1.Rust访问redis
第10章实战篇-Web服务器开发与优化
1.实战篇-web服务器(1)单线程版本
2.实战篇-web服务器(2)多线程版本
3.实战篇-web服务器(3)线程池版本

底部图片广告2_PC

周哥教IT,一个分享编程知识的公众号。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

二维码
微信扫描二维码关注