为什么你应该学习Rust
Rust是一种相对较新的编程语言,旨在构建高效可靠的应用程序。对于编程新手来说,学习Rust是一个非常好的选择,原因如下:
Rust是一种直白的语言,没有复杂的语法,初学者可以很容易上手并自学。
Rust从一开始就培养良好的编码习惯,帮助初学者建立行业标准的编码行为。
Rust有深入的错误日志消息,可以清晰地解释错误并提供建议,非常友好。
Rust的编译器严格但富有支持性,像一位老师般指导你修正代码。
Rust没有手动内存管理,使用所有权系统自动分配内存,避免了复杂的内存管理。
Rust拥有一个支持友好的社区,初学者可以得到热心的帮助。
Rust结合了现有语言的优点,同时轻巧高效,是资深开发人员的利器。
因此,无论是编程新手还是有经验的开发者,学习Rust都是一个极佳的选择。
https://www.howtogeek.com/why-you-should-learn-rust/
diffogus - 计算同一类型的两个实例之间的差异
diffogus 用于计算同一类型的两个实例之间的差异。它具有以下特性:
简单地对基本Rust类型进行比较,包括所有整数类型、浮点数类型。
对实现了Diffable特性的元素的向量进行比较。
对键值对中的值实现了Diffable特性的HashMap进行比较。
对包装了实现了Diffable特性的类型的Option进行比较。
对实现了Diffable特性的结构体的两个实例进行比较。可以手动实现Diffable,或者使用#[derive(Diff)]特性派生。目前只支持具有命名字段的结构体。
使用serde特性标志,可以序列化差异结果。
https://github.com/funlennysub/diffogus
教程 - 从头开始构建一个3D终端渲染器
这篇文章介绍了如何从头开始构建一个3D终端渲染器。主要内容包括:
总体思路是通过屏幕上的每个像素"发射"一条射线,计算射线与三角形网格的交点,并使用ANSI颜色代码在终端中显示对应三角形的颜色。
使用Rust语言,设置项目结构和依赖库。
定义Ray(射线)结构体,表示射线的起点和方向。
定义Screen(屏幕)结构体,包括宽高、焦距等,用于确定射线的方向。
定义Camera(相机)结构体,表示射线的起点位置。
在render方法中,遍历屏幕上的每个像素,构造对应的射线。
定义Triangle(三角形)和Mesh(网格)结构体,mesh包含多个三角形。
在render中遍历网格中的每个三角形,计算射线与之的交点并在终端显示相应颜色。
https://tagedan.github.io/posts/terminal_rendering.html
--
From 日报小组 Mike
社区学习交流平台订阅:
Rustcc论坛: 支持rss 微信公众号:Rust语言中文社区