Rust快速入门(9) - 自动化测试

测试是确保程序正确性的重要手段。虽然测试不能证明程序完全没有 bug,但可以有效地发现 bug 的存在。Rust 设计时高度关注程序的正确性,其类型系统和所有权规则承担了大部分这一负担,但并不能捕获所有问题,因此 Rust 包含了编写自动化测试的支持。 ...

Read More...


Rust快速入门(8) - 泛型、trait & 生命周期

泛型是具体类型或其他属性的抽象替代。我们可以表达泛型的属性,比如他们的行为或如何与其他泛型相关联,而不需要在编写和编译代码时知道他们在这里实际上代表什么。 ...

Read More...


Rust快速入门(7) - 错误处理

错误是软件中不可避免的一部分,Rust提供了多种机制来处理错误情况。本章总结了Rust的错误处理方式及其最佳实践。 Rust 将错误组合成两个主要类别:**可恢复错误**(*recoverable*)和 **不可恢复错误**(*unrecoverable*)。可恢复错误通常代表向用户报告错误和重试操作是合理的情况,比如未找到文件。不可恢复错误通常是 bug 的同义词,比如尝试访问超过数组结尾的位置。 ...

Read More...


Rust快速入门(6) - 常见集合

Rust标准库提供了许多有用的数据结构,称为集合(collections)。与内置的数组和元组不同,这些集合指向的数据存储在堆上,这意味着数据的大小可以在运行时增长或缩小。 ...

Read More...


Rust快速入门(5) - 包 & Crate & 模块

随着项目规模的增长,组织代码变得越来越重要。本章介绍了Rust的模块系统,它允许开发者将代码拆分为多个文件,管理可见性,并控制作用域。 - **包**(*Packages*): Cargo 的一个功能,它允许你构建、测试和分享 crate。 - **Crates** :一个模块的树形结构,它形成了库或二进制项目。 - **模块**(*Modules*)和 **use**: 允许你控制作用域和路径的私有性。 - **路径**(*path*):一个命名例如结构体、函数或模块等项的方式 ...

Read More...


Rust快速入门(4) - 枚举&模式匹配

枚举和模式匹配是Rust的强大功能: 1. **枚举**允许定义可以是一组指定变体之一的类型,变体可以携带不同类型和数量的数据 2. **Option<T>**枚举表示可选值,帮助避免空值错误 3. **match**表达式允许根据枚举的变体执行不同代码,必须处理所有可能情况 这些功能使Rust能够在类型系统层面防止错误,并提供清晰、可读的代码结构。 ...

Read More...


Rust快速入门(3) - 结构体

结构体(struct)是一种自定义数据类型,允许我们将多个相关联的值打包并命名,形成一个有意义的组合。结构体类似于面向对象语言中对象的数据属性。 ...

Read More...


Rust快速入门(2) - 所有权(OwnerShip)

所有权是 Rust 的基础,它影响了 Rust 中许多其他功能的工作方式,是理解和掌握 Rust 编程的关键概念。通过深入理解所有权,我们能够编写既安全又高效的 Rust 代码。 ...

Read More...


Rust快速入门(1) - 通用编程概念

Rust 鼓励开发者采用一些最佳实践,如默认不可变变量、强类型检查、表达式为主的语法等,这些都有助于编写更安全、更可靠的代码。 ...

Read More...


记录一次 python ELF 文件反编译过程

白嫖的软件出问题了, 懒得找资源, 于是准备看看它哪里有问题, 修一修继续用 ...

Read More...


好好学习,天天向上