自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Rust简洁控制流 if let

在这个表达式中,pattern是要匹配的模式,expression是要匹配的值,当expression与pattern匹配,则执行if代码块,否则,执行else代码块。代码中,模式是Some(max),max绑定Some中的值。接着在if-let代码块中使用max,如果模式不匹配,if-let中的代码不会执行。相对match控制流,if let 控制流相对比较简洁,用来处理只匹配一个模式而忽略其他模式。使用if-let意味着编写更少的代码,更少的样板代码,当失去了match强制要求的穷尽性检查。

2024-01-28 16:10:06 701

原创 Rust match控制流运算符

特别是在Option<T>的例子中,Rust防止我们忘记明确的处理None的情况,这让我们免于假设拥有一个实际上为空的值,从而错误不可能发生。同样地,值也会通过match的每一个模式,并且在遇到第一个“符合”的模式时,值会进入相关的代码块并在执行中被使用。这是一个实现上述逻辑的match,匹配模式是字面值3和7,最后一个分支则涵盖了所有其他可能的值,模式是我们命名为other的一个变量。它允许将一个值与一系列的模式相比较,根据匹配的模式执行相应代码。匹配分支的另一个有用的功能是可以绑定匹配的模式的部分值。

2024-01-27 14:12:09 613

原创 Rust 枚举类型

我们定义的每一个枚举成员的名字变成了一个构建枚举的实例的函数。使用一种更简洁的方式来表达相同的概念,仅仅使用枚举并将数据直接放进每一个枚举成员而不是将枚举作为结构体的一部分。因为省略了Option::,所以看上去创建一个Some对象,实际上它是一个Option<T>枚举的成员。与Option的<T,E>,T代表正常情况下Ok成员的值,而E代表错误发生时Err成员的值。枚举类型可以包含多个不同类型的值,这些值可以是具体的数据类型或自定义结构体类型。枚举中可以任意的类型,而且每个枚举项可以是不同的类型。

2024-01-21 21:07:08 417

原创 Rust 集合类型之HashMap

or_insert方法返回这个键的值的一个可变引用(&mut V)。当检查某个特定的键是否已经存在于哈希map中并进行如下操作:如果哈希map中键已经存在则不做任何操作,如果不存在则连同值一块插入。第二个entry调用不会改变哈希map,因为蓝队已经有了值10。哈希map(hash map)是一种基于哈希表的集合类型,用于存储键值对。提供了快速的查找,插入和删除的操作。HashMap类型存储了一个键类型K对应一个值类型V的映射。通过get方法并提供对应的键来从哈希map中获取值。

2024-01-21 18:57:34 401

原创 Rust 集合类型之Vector 向量

宏,这个宏根据我们提供的值来创建一个新的vector。在rust语言中,Vector(向量)是一种动态数组,可以存储相同类型的元素。但是有时我们需要储存一系列不同类型的值的时候,使用枚举以便在vector中存放不同类型的数据。为了修改可变引用所指向的值,在使用 += 运算符之前必须使用解引用运算符(*)获取 i 的值。我们也可以遍历可变vector的每一个元素的可变引用以便能改变它们。Vector是标准库的一种集合类型,通过使用Vec<T>来声明。向新建的vector增加元素,可以使用push方法。

2024-01-21 15:36:58 507

原创 rust复合类型-结构体

结构体(struct),是一种自定义数据类型,允许你命名和包装多个相关的值,这些值在定义时称之为字段(field)可以被视为数据对象的属性。构建一个build_user函数,返回一个带有给定的email和用户名的User结构体实例。方法是与结构体关联的函数,可以通过结构体实例调用。同样是将不同类型的数据包装组织起来,结构体相对于元组更加灵活,不依赖其中属性的顺序。定义元组结构体,以struct关键词和结构体名开头并后跟元组中的类型。使用结构体更新语法,通过更少的代码来达到相同的效果。

2024-01-21 01:32:36 433

原创 rust复合类型-数组

binary_search_by_key(): 在有序数组中搜索指定键的元素,在找到元素时返回其索引,否则返回应该插入元素的位置的索引,维持数组的有序状态。try_for_each():对数组中的每个元素应用给定的函数,并且在 每次应用后返回一个Result类型,如果所有应用都成功,则返回Ok(())。chunks_exact_mut(): 返回可变的可迭代的切片集合,每个切片包含指定大小的元素,最后不足一个切片的部分将被忽略。iter_mut():返回一个可变的迭代器,可用于遍历和修改数组中的元素。

2024-01-17 23:07:09 859

原创 rust复合类型-元组

rust元组是一种将多个类型不一定相同的数据捆绑在一起形成的整体的复合类型。你可以把元组想象成一个盒子,它可以装下不同种类的物品。上面这种赋值操作称之为 元组解构赋值,它会把等号(=)右边的元组的元素按照顺序一个一个赋值给等号左边元组里的变量。解构赋值(destructing)就是把元组(tuple)中的每一个元素按照顺序一个一个赋值给变量。函数参数中元组参数的声明语法和声明一个元素变量是相似的。在rust语言中,元组也可以作为函数的参数。元组解构赋值(destructing) =

2024-01-13 14:42:11 455 2

原创 rust字符串

当rustaceans指的是rust中的“string”时,通常指的是string和string slice&str类型,而不仅仅是这些类型中的一种。而new函数则是凭空生产一个String,而且是空的,如果想要让它存值,就得将它声明为可变的(mut),之后可以用push_str函数或者+=操作符来追加字符串。判断指定位置是不一个合法的UTF-8边界,比如说汉字的UTF-8包含三个字节,那么第一个字节的结束位置必然不是一个合法的UTF-8边界(更准确的说,应该时这个位置是不是一个合法的字符的开始)

2024-01-12 13:42:03 909 1

原创 rust基本数据类型-bool类型

bool实现了各种特征,例如BitAnd、BitOr、Not等,它们允许我们使用&、|和!如果将bool类型转换为整数,true将为1,false将为0。布尔类型有两种:true和false。

2024-01-08 00:21:48 444

原创 rust基本数据类型-浮点类型

f64是64位浮点数,存储空间占8个字节,有15位有效数字,表示的范围:–1.8 × 10的三百零八次方~+1.8 × 10的三百零八次方。f32是32位浮点数,存储空间占4个字节,有6位有效数字,表示的范围: –3.4 × 10的三十八次方~+3.4 × 10的三十八次方。注意:上面变量的值通过println宏输出值时被省略,rust并没有改变你的变量值。rust提供了两种浮点类型: f32和f64,分别表示单精度和双精度浮点数。注意:浮点数据类型(f32和f64)都是有符号的。

2024-01-07 20:45:56 635

原创 rust基本数据类型-整数类型

isize的数值范围:-2-2³¹-1或-2-2³¹-1,占用4个或8个字节,具体取决于机器的字长。usize的数值范围:0-2³²-1或0-2⁶⁴-1,占用4个或8个字节,具体取决于机器的字长。i128的数值范围:-2¹²⁷ - 2¹²⁷-1。i16的数值范围:-2¹⁵ - 2¹⁵-1。i32的数值范围:-2³¹ - 2³¹-1。i64的数值范围:-2⁶³ - 2⁶³-1。u128的数值范围:0-2¹²⁸-1。i8的数值范围:-2⁷ - 2⁷-1。u16的数值范围:0-2¹⁶-1。

2024-01-07 20:13:54 511 1

原创 rust-char类型

Unicode标量值是char类型的一个变体,它可以表示Unicode字符集中的任何字符。是一个 Unicode 编码为 U+2764 的字符,它占用 1 个 Unicode 码点,但是它的编码占用了 3 个字节,所以在计算字符数量时需要使用。所占用的字节长度,即 9,因为该字符串包含 7 个字符和 2 个字节的 Unicode 编码(的 Unicode 编码是 3 字节),所以总共占用 9 个字节的存储空间。类型所占用内存空间大小的函数,它返回的值是 4 字节。的值、它所占用的字节长度和字符数量。

2024-01-07 15:36:38 493 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除