[每周一更]-(第61期):Rust入门策略(持续更新)
作者:小教学发布时间:2023-09-25分类:程序开发学习浏览:147
导读:一门语言的学习,就要从最基本的语法开始认识,再分析不同语言的区别,再加上实战,才能更快的学会,领悟到作者的设计思想;介绍Rust编程练习开发工具VSCode及插件...
一门语言的学习,就要从最基本的语法开始认识,再分析不同语言的区别,再加上实战,才能更快的学会,领悟到作者的设计思想;
介绍
Rust编程练习
开发工具VSCode及插件
- 社区驱动的 rust-analyzer
- Even Better TOML,支持 .toml 文件完整特性
- Error Lens, 更好的获得错误展示
- One Dark Pro, 非常好看的 VSCode 主题
- CodeLLDB, Debugger 程序
- Keymap Extensions 更新快捷键到 eclipse
- 实时保存 搜索栏搜索:Auto Save. 然后选择afterDelay. 再选择设置100毫秒自动保存 ps:1000毫秒=1秒 100毫秒=0.1秒。
学习资料
- https://www.runoob.com/rust/rust-ownership.html
- https://course.rs/community.html
重点知识点
所有权规则
所有权有以下三条规则:
- Rust 中的每个值都有一个变量,称为其所有者。
- 一次只能有一个所有者。
- 当所有者不在程序运行范围时,该值将被删除。
这三条规则是所有权概念的基础。
Rust 区别与其他高级语言的重要特征,在于其内存管理的两个特点:
- (1)变量超出作用域会自动释放。对于简单值类型的栈内存(如int,struct)超出作用域后自动释放,这个逻辑在各个语言都有实现。而对于 new 出来的堆内存,在c/c++中是要手动释放的,在java和dotnet中要委托垃圾回收释放或手动写 dispose 语句释放。而垃圾回收不是实时的,会影响性能。而释放语句总会有懒人忘记写的。而 Rust 对栈内存和堆内存一视同仁,超出作用域一律自动释放。Rust 的这个特点在兼顾性能的情况下、有效的减少了代码量和内存泄漏隐患。
- (2) “所有权” :某段内存只能被最后的变量名所有,前面声明过的变量都作废,这有效的避免被多个变量释放的问题,而且该操作是在编译期就可以检查到的,这策略可在编译期就能有效的避免空指针问题。这部分对于所有权的设定,看起来很奇怪,其实本质上就是在语言层面禁止了同一个可变数据会有多个变量引用的情况,一旦作为参数传递了,就会发生所有权的移动(Move)或借用(Borrow)。赋值给另一个变更也就自动放弃了所有权。从根本上杜绝了并发情景下的数据共享冲突。
安装教程
0.通过官网https://www.rust-lang.org/tools/install 安装rust
rustc -V # 查看rust的版本
cargo -V # 查看cargo包版本
1.使用 rustc 命令编译 runoob.rs 文件:
rustc runoob.rs # 编译 runoob.rs 文件
2.编译后会生成 runoob 可执行文件:
./runoob # 执行 runoob
Hello World!
3.cargo
cargo build 构建
cargo run 构建+运行
cargo check 检查代码准确性
- 程序开发学习排行
-
- 1鸿蒙HarmonyOS:Web组件网页白屏检测
- 2HTTPS协议是安全传输,为啥还要再加密?
- 3HarmonyOS鸿蒙应用开发——数据持久化Preferences
- 4记解决MaterialButton背景颜色与设置值不同
- 5鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)
- 6鸿蒙HarmonyOS实战-ArkUI组件(Stack)
- 7鸿蒙HarmonyOS实战-ArkUI组件(GridRow/GridCol)
- 8[Android][NDK][Cmake]一文搞懂Android项目中的Cmake
- 9鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)
- 最近发表
-
- WooCommerce最好的WordPress常用插件下载博客插件模块的相关产品
- 羊驼机器人最好的WordPress常用插件下载博客插件模块
- IP信息记录器最好的WordPress常用插件下载博客插件模块
- Linkly for WooCommerce最好的WordPress常用插件下载博客插件模块
- 元素聚合器Forms最好的WordPress常用插件下载博客插件模块
- Promaker Chat 最好的WordPress通用插件下载 博客插件模块
- 自动更新发布日期最好的WordPress常用插件下载博客插件模块
- WordPress官方最好的获取回复WordPress常用插件下载博客插件模块
- Img to rss最好的wordpress常用插件下载博客插件模块
- WPMozo为Elementor最好的WordPress常用插件下载博客插件模块添加精简版