- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 Rust 闭包
Rust 的闭包是可以保存在一个变量中或作为参数传递给其他函数的匿名函数。对一个城市序列进行排序。但是,此时如果将辅助函数写为会更加简洁。
2024-04-28 20:23:23 1209
原创 Rust trait 与泛型
使用trait关键字定义特型。提供一个名字,并列出特型方法的类型签名即可。上面描述的特型都是独立的:特型是类型可以实现的一组方法。特型也可以用于多种类型必须协同工作的场景中。它们可以描述多个类型之间的关系。特型会为每个迭代器类型与其生成的值的类型建立联系。特型与可以相乘的类型有关。在表达式a * b中,值 a 和 b 可以是相同类型,也可是不同类型。randcrate 中包含随机数生成器的特型(rand::Rng)和可被随机生成的类型的特型。
2024-04-25 20:50:10 1397
原创 Rust 枚举与模式匹配
可以使用 C 风格枚举为各个值存储为整数。Rust 默认会从 0 开始分配。Ok = 200,默认,Rust 会使用可容纳它们的最小内置整数类型来存储 C 风格枚举。assert_eq!assert_eq!可向枚举添加#[repr]属性来覆盖 Rust 对内存中表示法的默认选择。可使用as将 C 风格的枚举值转换为整数。反之不行。枚举也可使用derive添加各种 crate。并且可以使用impl实现自己的方法。
2024-04-24 19:43:10 938
原创 Rust 错误处理常用 crate - thiserror 与 anyhow
`thiserror` crate 为标准库的 `std::error::Error` trait 提供了一系列的派生宏。使用这个库可以更加方便快捷的定义自定义错误类型。
2024-04-23 20:42:20 660
原创 [Rust 入门] Rust 错误处理 - Panic 与 Result
自定义JsonError错误。// 错误应该能打印write!// 错误应该实现 std::error::Error 特型,但使用 Error 各个方法的默认定义就够了可以使用thiserrorcrate 来简化上面的操作。
2024-04-22 20:54:18 998
原创 [Rust 入门]Rust 结构体总结
使用 impl 为结构体定义方法。impl块中定义的函数称为关联函数。也就是结构体方法。Rust 会将调用关联函数的结构体值作为第一个参数传给方法,改参数具有特殊名称self,是的简写。如果是可变引用写成&mut self,是的简写。Self指的结构体本身的类型。
2024-04-21 21:00:31 1246
原创 [Rust 入门]Rust 引用与借用以及生命周期
本教程环境:系统:MacOSRust 版本:1.77.2上一节了解的 Rust 的所有权机制以及变量的移动操作。移动也就是将所有权进行移动。移动完成之后之前的变量就变成了未初始化的状态。如何这个变量之后还需要使用,就会造成不必要的麻烦。Rust 提供了一种非拥有型的指针叫做。它是一个地址,可以访问该地址指向的数据。Rust 把创建对某个值的引用的操作称为。
2024-04-20 22:11:49 1333
原创 [Rust入门]Rust 基本数据类型
Rust 的类型系统是它语言设计中最核心的部分之一。通过在编译时执行严格的类型检查来提供安全保障,帮助程序员避免常见的错误,例如空指针、解引用或类型不匹配等。同时,Rust 有以下两个特性可以让上述的这些工作变得轻松。下表是 Rust 类型的总结。
2024-04-18 22:29:09 1068
原创 [Rust 入门] Rust 简介与开发环境搭建
Rust 官方网站Rust 是在 2006 年由 Mozilla 员工 Graydon Hoare 个人发起的一个项目。这个项目的目标是解决一些长期困扰编程社区的问题(比如内存安全),同时提供低级别系统编程的能力。后来,经过的不断的发展,进行了大量的重构和改进,添加了许多创新的特型,例如所有权系统、生命周期、借用检查等。到了 2015 年 Rust 1.0 正式发布。Rust 语言的聚焦于内存安全和性能,使得它特别适合系统级别的编程。
2024-04-17 15:08:00 1746
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人