Table of Contents:

课程代码

开篇词|让Rust成为你的下一门主力语言

首先,你使用起来就会感受到,Rust 是一门非常重视开发者用户体验的语言
其次,众所周知的优异性能和强大的表现力,让 Rust 在很多场合都能够施展拳脚。

学习 Rust 的难点

而 Rust 中最大的思维转换就是变量的所有权和生命周期,这是几乎所有编程语言都未曾涉及的领域。

01|内存:值放堆上还是放栈上,这是一个问题

代码中最基本的概念是变量和值,而存放它们的地方是内存,所以我们就从内存开始。

小结
对于存入栈上的值,它的大小在编译期就需要确定。栈上存储的变量生命周期在当前调用栈的作用域内,无法跨调用栈引用。
堆可以存入大小未知或者动态伸缩的数据类型。堆上存储的变量,其生命周期从分配后开始,一直到释放时才结束,因此堆上的变量允许在多个调用栈之间引用。但也导致堆变量的管理非常复杂,手工管理会引发很多内存安全性问题,而自动管理,无论是 GC 还是 ARC,都有性能损耗和其它问题。
一句话对比总结就是:栈上存放的数据是静态的,静态大小,静态生命周期;堆上存放的数据是动态的,动态大小,动态生命周期

02|串讲:编程开发中,那些你需要掌握的基本概念

加餐| Rust真的值得我们花时间学习么?

03|初窥门径:从你的第一个Rust程序开始!

默认变量不可变是一个很重要的特性,它符合最小权限原则(Principle of Least Privilege),有助于我们写出健壮且正确的代码。当你使用 mut 却没有修改变量,Rust 编译期会友好地报警,提示你移除不必要的 mut。

04|get hands dirty:来写个实用的CLI小工具