Rust入门:从Python Excel到内存安全探索
需积分: 44 149 浏览量
更新于2024-08-07
收藏 3.91MB PDF 举报
"深入浅出Rust - 范长春著"
本书“深入浅出Rust”由范长春撰写,旨在引导读者了解和掌握Rust编程语言。Rust是一种系统编程语言,强调性能、内存安全和线程安全。与C和C++相比,Rust在提供类似低级控制的同时,增加了安全特性,避免了如段错误等问题。
第1章“与君初相见”介绍了Rust的基本特点和定位。Rust设计用于执行速度快、资源受限的环境,其运行时开销小,拥有小型的运行库,并且允许直接的内存操作。本章还会涉及Rust的安装、 HelloWorld程序、预录入(Prelude)以及Format格式化输出的详细说明。
第2章“变量和类型”讲解了Rust中的变量声明、基本数据类型(如整型、浮点型、布尔型等)以及复合数据类型,包括结构体、枚举和元组。
第3章“语句和表达式”涵盖了Rust中的语句结构,如控制流语句(如if-else),以及表达式的概念和用法。
第4章“函数”介绍了函数的基本概念、发散函数、main函数、const fn(常量函数)、递归函数等,这些都是编写Rust程序的核心部分。
第5章“trait”是Rust中的一个关键特性,用于实现多态。它包括成员方法、静态方法、扩展方法、trait约束、trait继承、Derive宏以及trait别名。此外,还简要介绍了标准库中常见的trait。
第6章“数组和字符串”讨论了固定长度的数组和动态长度的字符串(String)及其操作。
第7章“模式解构”讲述了如何使用match、if-let和while-let等结构来解构复杂的值,以及在函数和闭包参数中使用模式解构。
第8章“深入类型系统”进一步探讨了Rust的类型系统,包括代数类型系统、NeverType和Option类型的深入理解。
第9章“宏”介绍了Rust的宏系统,包括宏的基本概念、示范型宏和宏1.1的用法。
第二部分“内存安全”涵盖了Rust的关键安全特性:
第10章“内存管理基础”讲解了堆和栈的区别,以及段错误的概念,强调了内存安全的重要性。
第11章“所有权和移动语义”详细阐述了Rust的所有权规则,如何通过移动语义和复制语义管理内存,以及Box类型、Clone与Copy的区别,最后提到了析构函数。
第12章“借用和生命周期”介绍了生命周期的概念,解释了借用是如何工作的,以及借用规则、生命周期标记和省略生命周期标记的用法。
第13章“借用检查”通过示例展示了Rust的借用检查如何防止内存不安全的情况,如修改枚举、迭代器失效和悬空指针。
第14章“NLL(Non-Lexical-Lifetime)”讨论了Rust的生命周期系统改进,即非词法生命周期,这是为了更好地处理复杂情况下的生命周期。
“深入浅出Rust”全面覆盖了Rust语言的基础和高级特性,对于想要学习或已经使用Rust进行系统编程的读者来说,是一本极有价值的参考资料。
109 浏览量
240 浏览量
2023-10-16 上传
7759 浏览量
681 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
郝ren
- 粉丝: 57
- 资源: 4063
最新资源
- C++ Qt影院票务系统源码发布,代码稳定,高分毕业设计首选
- 纯CSS3实现逼真火焰手提灯动画效果
- Java编程基础课后练习答案解析
- typescript-atomizer: Atom 插件实现 TypeScript 语言与工具支持
- 51单片机项目源码分享:课程设计与毕设实践
- Qt画图程序实战:多文档与单文档示例解析
- 全屏H5圆圈缩放矩阵动画背景特效实现
- C#实现的手机触摸板服务端应用
- 数据结构与算法学习资源压缩包介绍
- stream-notifier: 简化Node.js流错误与成功通知方案
- 网页表格选择导出Excel的jQuery实例教程
- Prj19购物车系统项目压缩包解析
- 数据结构与算法学习实践指南
- Qt5实现A*寻路算法:结合C++和GUI
- terser-brunch:现代JavaScript文件压缩工具
- 掌握Power BI导出明细数据的操作指南