Rust语言学习
文章平均质量分 83
尝试接触Rust语言,学习《Rust权威指南》,记录相关知识点。
爱折腾的捣蛋鬼
硕士研究生,计算机视觉方向,喜爱嵌入式。不断学习,不定时分享。
展开
-
Rust之高级特性
可以在代码块前使用关键字unsafe来切换到不安全模式,并在被标记后的代码块中使用不安全代码。不安全Rust允许你执行4种在安全 Rust 中 不 被 允 许 的 操 作 , 而 它 们 也 就 是 所 谓 的 不 安 全 超 能 力(unsafe superpower)。因此,即便是身处于不安全的代码块中,你也仍然可以获得一定程度的安全性。在Rust中存在一种不会强制实施内存安全保障的语言:不安全Rust(unsafe Rust)。代码块,所以可以在一个不安全函数中执行其他不安全操作而无须添加额外的。原创 2024-04-14 20:19:08 · 410 阅读 · 0 评论 -
Rust之编写自动化测试
在最简单的情形下,Rust中的测试就是一个标注有test属性的函数。属性 (attribute)是一种用于修饰Rust代码的元数据。只需要将#[test]添加到关键字fn的上一行便可以将函数转变为测试函数。当测试编写完成后,我们可以使用cargo test命令来运行测试。这个命令会构建并执行一个用于测试的可执行文件,该文件在执行的过程中会逐一调用所有标注了test属性的函数,并生成统计测试运行成功或失败的相关报告。原创 2023-08-15 16:35:02 · 1662 阅读 · 0 评论 -
Rust之泛型、trait与生命周期
当使用泛型来定义一个函数时,需要将泛型放置在函数签名中通常用于指定参数和返回值类型的地方。以这种方式编写的代码更加灵活,并可以在不引入重复代码的同时向函数调用者提供更多的功能。当需要在函数签名中使用类型参数时,也需要在使用前声明这个类型参数的名称。为了定义泛型版本的largest函数,类型名称的声明必须被放置在函数名与参数列表之间的一对尖括号<>即函数largest拥有泛型参数T,它接收一个名为list的T值切片作为参数,并返回一个同样拥有类型T的值作为结果。原创 2023-08-14 17:03:55 · 940 阅读 · 0 评论 -
Rust之错误处理
在Rust中,将错误分为两种,可恢复错误和不可恢复错误。所谓可恢复错误就是指类似于文件未找到这类错误,一般需要将它们报告给用户并再次尝试进行操作,而不可恢复错误往往就是Bug,需要停止程序的运行。原创 2023-08-02 21:06:05 · 874 阅读 · 0 评论 -
Rust之通用集合类型
在Rust语言中包含了一系列被称为集合的数据结构。大部分的数据结构都代表着某个特定的值,但集合却可以包含多个值。与内置的数组与元组类型不同,这些集合将自己持有的数据存储在了堆上。这意味着数据的大小不需要在编译时确定,并且可以随着程序的运行按需扩大或缩小数据占用的空间。原创 2023-07-28 23:09:19 · 649 阅读 · 0 评论 -
Rust之包、单元包及模块
模块允许将单元包内的代码按照可读性与易用性来进行分组,同时还允许控制条目的私有性。即模块决定了一个条目是否可以被外部代码使用(公用),或者仅仅只是一个内部的实现细节而不对外暴露(私有)。模块内可以继续定义其他模块,也同样可以包含其他条目的定义,例如:结构体、枚举、常量、trait等。在Rust中和src/lib.rs被称为单元包的根节点,这两个文件的内容各自组成了一个名为crate的模块,并位于单元包模块结构的根部。这个模块结构也被称为模块树。原创 2023-07-26 17:45:47 · 1130 阅读 · 0 评论 -
Rust之枚举与模式匹配
枚举类型:已知所有可能的值,并且所有值的出现是互斥的,即每次只能取一种可能的值,才使用枚举类型。示例:声明一个枚举注:枚举的变体全部处于其标识符的命名空间内,并使用两个冒号将标识符和变体分隔开。枚举允许直接将其相关联的数据嵌入枚举变体内,这样就可以更简单的表达意思。可以直接将数据附加到枚举的每个变体中,这样就不需要额外的使用结构体了。使用枚举还可以让每个变体拥有不同类型和数量的关联数据。原创 2023-07-23 21:06:08 · 1936 阅读 · 0 评论 -
Rust之使用结构体来组织相关的数据
和元组一样,结构体中的数据可以拥有不同的类型,不同的是,结构体需要给每个数据赋予名字以便于清楚地表达它们的意义。关键字struct被用来定义并命名结构体。一个良好的结构体名称应当能够反映出自身数据组合的意义。需要在随后的花括号中声明所有数据的名字及类型,这些数据也被称为字段。在定义好结构体之后,需要为每个字段赋值来创建结构体实例,结构体实例赋值的顺序可以不按照所定义的顺序。在创建好结构体实例之后,可以通过点号来访问实例中的特定的字段,例如需要访问User1中的名字,可以使用来获取。原创 2023-07-22 21:21:18 · 486 阅读 · 0 评论 -
Rust之所有权
程序需要管理自己在运行时使用的计算机内部空间。Rust语言采用包含特定规则的所有权系统来管理内存,这套规则允许编译器在编译的过程中执行检查工作,而不会产生任何的运行时开销。原创 2023-07-22 16:46:22 · 860 阅读 · 0 评论 -
Rust之通用编程
在Rust语言中,变量默认是不可变的,所以一旦变量被绑定到某个值上面,这个值就再也无法被改变。可以通过在声明的变量名称前添加mut关键字来使其可变。除了使变量的值可变,mut还会向阅读代码的人暗示其他代码可能会改变这个变量的值。原创 2023-07-22 08:29:09 · 716 阅读 · 0 评论 -
Rust语言入门
rs.rs。原创 2023-07-20 16:00:04 · 513 阅读 · 0 评论 -
Rust语言学习之格式化输出
Rust之格式化输出原创 2023-07-07 10:26:39 · 1171 阅读 · 3 评论