Rust
文章平均质量分 88
枫★曦
Stay simple,stay positive...
展开
-
Rust之函数式语言特性:迭代器和闭包(一):概述
Rust之函数式语言特性:迭代器和闭包(一):概述原创 2024-05-27 12:53:12 · 444 阅读 · 0 评论 -
Rust之构建命令行程序(六):信息写入
Rust之构建命令行程序(六):信息写入原创 2024-04-25 14:43:16 · 792 阅读 · 0 评论 -
Rust之构建命令行程序(五):环境变量
Rust之构建命令行程序(五):环境变量原创 2024-03-22 14:24:18 · 1368 阅读 · 2 评论 -
Rust之构建命令行程序(四):用TDD(测试-驱动-开发)模式来开发库的功能
Rust之构建命令行程序(四):用TDD(测试-驱动-开发)模式来开发库的功能原创 2024-02-23 15:54:13 · 1238 阅读 · 3 评论 -
Rust之构建命令行程序(三):重构改进模块化和错误处理
Rust之构建命令行程序(三):重构改进模块化和错误处理原创 2024-01-17 20:31:42 · 1255 阅读 · 2 评论 -
Rust之构建命令行程序(二):读取文件
Rust之构建命令行程序(二):读取文件原创 2023-12-26 15:57:07 · 689 阅读 · 0 评论 -
Rust之构建命令行程序(一):接受命令行参数
Rust之构建命令行程序,接受命令行参数原创 2023-11-28 13:59:35 · 757 阅读 · 1 评论 -
Rust之自动化测试(三): 测试组合
Rust之自动化测试(三): 测试组合原创 2023-10-22 14:03:25 · 917 阅读 · 1 评论 -
Rust之自动化测试(二):控制测试如何运行
Rust之自动化测试(二), 控制测试如何运行原创 2023-09-25 15:05:51 · 543 阅读 · 0 评论 -
Rust之自动化测试(一):如何编写测试
Rust之自动化测试,如何编写测试原创 2023-08-24 11:28:10 · 1743 阅读 · 0 评论 -
Rust之泛型、特性和生命期(三):验证有生存期的引用
Rust之泛型、特性和生命期,验证有生存期的引用,函数,结构,方法等生存期注释原创 2023-07-21 16:27:16 · 713 阅读 · 2 评论 -
Rust之泛型、特性和生命期(二):Traits:定义共同的行为
Rust之泛型、特性和生命期(三),Traits:定义共同的行为原创 2023-06-19 15:32:25 · 1620 阅读 · 1 评论 -
Rust之泛型、特性和生命期(一):通用数据类型
当定义一个使用泛型的函数时,我们将泛型放在函数的签名中,在这里我们通常会指定参数和返回值的数据类型。这样做使我们的代码更加灵活,为我们的函数的调用者提供更多的功能,同时防止代码重复。继续我们的最大函数,示例4显示了两个函数,它们都能找到一个片断中的最大值。然后我们将把它们合并成一个使用泛型的函数。文件名:src/main.rsfn largest_i32(list: &[i32]) -> &i32 { // largest_i32 函数largest。原创 2023-05-19 14:45:56 · 742 阅读 · 0 评论 -
Rust之错误处理(三):panic!还是不要panic!
Rust之错误处理,panic!还是不要panic!原创 2023-03-21 15:17:24 · 786 阅读 · 2 评论 -
Rust之错误处理(二):带结果信息的可恢复错误
Rust之错误处理:带结果信息的可恢复错误原创 2023-02-17 16:18:56 · 1338 阅读 · 3 评论 -
Rust之错误处理(一):无法恢复的错误panic!
Rust之常用错误处理, 无法恢复的错误panic!原创 2023-01-12 15:49:43 · 930 阅读 · 0 评论 -
Rust之常用集合(三):哈希映射(Hash Map)
Rust之常用集合,哈希映射(Hash Map)原创 2022-12-28 15:41:20 · 1480 阅读 · 0 评论 -
Rust之常用集合(二):字符串(String)
Rust之常用集合,字符串(String)原创 2022-11-28 15:32:01 · 2964 阅读 · 0 评论 -
Rust之常用集合(一):向量(vector)
Rust之常用集合(一):向量(vector)的创建,更新,元素的读取原创 2022-10-27 15:15:56 · 1571 阅读 · 0 评论 -
Rust之包,箱和模块管理(五):将模块分成不同的文件
Rust之包,箱和模块管理(五):将模块分成不同的文件原创 2022-09-27 15:05:56 · 1392 阅读 · 0 评论 -
Rust之包,箱和模块管理(四):用use关键字引用其他包
Rust之包,箱和模块管理(四):用use关键字引用其他包原创 2022-08-29 14:27:41 · 3357 阅读 · 0 评论 -
Rust之包,箱和模块管理(三):引用模块树中项目的路径
Rust之包,箱和模块管理:引用模块树中项目的路径原创 2022-07-28 14:53:32 · 664 阅读 · 0 评论 -
Rust之包,箱和模块管理(二):定义控制范围和隐私的模块
Rust中的定义控制范围和隐私的模块原创 2022-06-28 15:46:51 · 379 阅读 · 0 评论 -
Rust之包,箱和模块管理(一):包和箱
开发环境Windows 10 Rust 1.60.0VS Code 1.67.2项目工程这里继续沿用上次工程rust-demo基础概念当你编写大型程序时,组织你的代码将是重要的,因为在你的头脑中保持整个程序的轨迹将变得不可能。通过对相关的功能进行分组,并将代码与不同的功能分开,您将清楚在哪里可以找到实现特定功能的代码,以及在哪里可以更改功能的工作方式。到目前为止,我们编写的程序都在一个文件的一个模块中。随着项目的增长,您可以通过将代码分成多个模块和多个文件来组...原创 2022-05-27 14:36:22 · 839 阅读 · 0 评论 -
Rust之枚举和模式匹配(三):简明控制流if let
开发环境Windows 10 Rust 1.60.0VS Code 1.66.2项目工程这里继续沿用上次工程rust-demo简明控制流 - if letif let语法允许您将if和let组合成一种不太冗长的方式来处理匹配一个模式的值,而忽略其余的模式。考虑下面示例中,它匹配config_max变量中的一个Option<u8 >值,但是如果这个值是Some变量,它只想执行代码。 let config_max = Some(3u8); ...原创 2022-04-27 15:56:19 · 1340 阅读 · 0 评论 -
Rust之枚举和模式匹配(二):控制流程结构match
开发环境Windows 10 Rust 1.59.0VS Code 1.65.2项目工程这里继续沿用上次工程rust-demo控制流程结构 - matchRust有一个非常强大的控制流构造,称为match,它允许您将一个值与一系列模式进行比较,然后根据匹配的模式执行代码。模式可以由文字值、变量名、通配符和许多其他东西组成;后面涵盖了所有不同种类的模式以及它们的作用。match的强大之处在于模式的表现力,以及编译器确认所有可能的情况都被处理的事实。把一个match...原创 2022-03-28 14:13:03 · 1075 阅读 · 1 评论 -
Rust之枚举和模式匹配(一):枚举定义
开发环境Windows 10 Rust 1.58.1VS Code 1.64.2项目工程这里继续沿用上次工程rust-demo枚举和模式匹配枚举允许您通过枚举类型的可能变体来定义类型。首先,我们将定义并使用一个枚举来展示一个枚举如何编码数据的含义。接下来,我们将探索一个特别有用的枚举,称为Option,它表示一个值可以是某个值,也可以是零。然后,我们将看看match表达式中的模式匹配是如何简化为枚举的不同值运行不同代码的。最后,我们将介绍if let构造如何成为另一种...原创 2022-02-23 15:31:36 · 627 阅读 · 0 评论 -
Rust之结构体(三):方法
开发环境Windows 10 Rust 1.58.1VS Code 1.63.2项目工程这里继续沿用上次工程rust-demo原创 2022-01-27 15:55:18 · 1272 阅读 · 0 评论 -
Rust之结构体(二):结构体示例
开发环境Windows 10 Rust 1.57.0VS Code 1.63.2项目工程这里继续沿用上次工程rust-demo结构体示例为了理解什么时候可能需要使用结构体,让我们编写一个程序来计算矩形的面积。我们将从单变量开始,然后重构程序,直到使用结构代替。让我们用`cargo`创建一个名为`rectangles`的新的程序,它将以像素为单位指定矩形的宽度和高度,并计算矩形的面积。代码如下fn main() { let width1 = 30; ...原创 2021-12-27 16:20:30 · 930 阅读 · 0 评论 -
Rust之结构体(一):定义和实例化结构体
开发环境Windows 10 Rust 1.56.1VS Code 1.62.3项目工程这里继续沿用上次工程rust-demo结构体结构体类似于元组。与元组一样,结构的碎片可以是不同的类型。与元组不同的是,我们将命名每个数据段,这样就可以清楚地了解值的含义。由于这些名称,结构体比元组更灵活:我们不必依赖数据的顺序来指定或访问实例的值。要定义结构,我们输入关键字struct并命名整个结构体。结构体的名称应该描述将数据块组合在一起的重要性。然后,在花括号中定义数据片段...原创 2021-11-29 15:11:42 · 2143 阅读 · 0 评论 -
Rust之所有权(三):切片类型
开发环境Windows 10 Rust 1.56.0VS Code 1.61.2项目工程这里继续沿用上次工程rust-demo切片类型另一个没有所有权的数据类型是切片。切片允许您引用集合中的连续元素序列,而不是整个集合。下面是一个小的编程问题:编写一个函数,该函数接受一个字符串并返回它在该字符串中找到的第一个单词。如果函数在字符串中找不到空格,则整个字符串必须是一个单词,因此应该返回整个字符串。首先我们考虑一下这个函数:fn first_word(s:...原创 2021-10-26 14:54:05 · 529 阅读 · 0 评论 -
Rust之所有权(二):引用和借用
开发环境Windows 10 Rust 1.55.0VS Code 1.60.2项目工程这里继续沿用上次工程rust-demo引用和借用上述章节中的元组代码的问题是,我们必须将String返回给调用函数,这样我们仍然可以在调用之后使用String来calculate_length,因为String被移动到计calculate_length中。下面是如何定义和使用具有对对象的引用作为参数的calculate_length函数,而不是获取该值的所有权:...原创 2021-09-27 16:46:13 · 308 阅读 · 0 评论 -
Rust之所有权(一):所有权
开发环境Windows 10 Rust 1.54.0VS Code 1.59.1项目工程这里继续沿用上次工程rust-demo所有权所有权是Rust最独特的特性,它使Rust能够在不需要垃圾收集器的情况下保证内存安全。因此,了解Rust中所有权是如何工作的是很重要的。什么是所有权Rust的核心特征是所有权。虽然这个特性很容易解释,但它对语言的其他部分有着深刻的含义。所有程序都必须在运行时管理它们使用计算机内存的方式。有些语言有垃圾回收机制,在程序...原创 2021-08-27 17:05:23 · 382 阅读 · 0 评论 -
Rust之流程控制
开发环境Windows 10 Rust 1.53.0VS Code 1.58.2项目工程这里继续沿用上次工程rust-demoRust的流程控制在大多数编程语言中,决定是否运行某些代码取决于条件是否为真,并决定在条件为真时重复运行一些代码。让编码者控制Rust代码执行流程的最常见构造是if表达式和循环。if表达式if表达式允许编码者根据条件将代码分支。提供一个条件,然后状态,“如果满足此条件,请运行此代码块。如果条件未满足,请不要运行此代码块。”在工程目录中..原创 2021-07-28 17:26:41 · 328 阅读 · 0 评论 -
Rust之注释
开发环境Windows 10 Rust 1.53.0VS Code 1.57.1Rust的注释所有程序员都努力使他们的代码易于理解,但有时需要额外的解释。在这些情况下,程序员会在源代码中留下注释,编译器会忽略这些注释,但阅读源代码的人可能会发现这是有用的。例如,下面的注释示例:// hello, world在Rust中,惯用的注释样式以两个斜杠开始注释,注释一直持续到行尾。对于超出一行的注释,需要在每一行中包括//,如下所示// So we’re doing so.原创 2021-06-28 15:21:04 · 290 阅读 · 0 评论 -
Rust之函数
开发环境Windows 10 Rust 1.52.VS Code 1.55.2Rust的函数函数在Rust代码中无处不在。如该语言中最重要的函数之一:main函数,它是许多程序的入口点。同时还有fn关键字,它允许您声明新函数。 ...原创 2021-05-26 15:15:50 · 468 阅读 · 0 评论 -
Rust之数据类型
开发环境Windows 10 Rust 1.51VS Code 1.55.2Rust中的主要数据类型基本类型 整型 浮点类型 在Rust中,提供了f32和f64两个关键字来定义浮点类型变量,默认是f64.在Rust中,我们声明和定义整型变量时可以使用如下。fn main() { // 加 let sum = 5 + 10; // 减 let difference = 95.5 - 4.3; // 乘原创 2021-04-27 15:26:08 · 394 阅读 · 0 评论 -
Rust之变量和可变性
开发环境Windows 10 Rust 1.51 VS Code项目工程这里继续沿用上次工程rust-demo。目标本次项目主要介绍Rust语言的变量,不需要额外添加依赖库。变量声明先看下面的代码fn main() { let x = 5; println!("The value of x is: {}", x); x = 6; println!("The value of x is: {}", x);}编译&运行原创 2021-03-26 16:56:07 · 140 阅读 · 0 评论 -
Rust之Cargo(4) - 猜猜看
开发环境Windows 10 Rust 1.50 VS Code项目工程这里继续沿用上次工程rust-demo。目标本次项目在上次猜数字匹配的基础上,实现循环猜数字匹配。本次项目中使用依赖如下:[dependencies]rand = "^0.6.0"Cargo.toml文件内容如下:编码要实现循环猜数字的功能,需要引入Rust语言中的循环关键字 - loop。本次项目的代码如下:use std::io; // 引...原创 2021-02-25 10:19:38 · 151 阅读 · 0 评论 -
Rust之Cargo(3) - 猜猜看
开发环境Windows 10 Rust 1.49 VS Code项目工程这里继续沿用上次工程rust-demo。目标本次项目在上次猜随机数字的基础上,将猜到的数据进行匹配计算。本次项目中使用依赖如下:[dependencies]rand = "0.6.0"Carog.toml文件内容如下:编码本次项目全部代码如下:use std::io; // 引入IO库use std::cmp::Ordering; // 引入排序比较..原创 2021-01-26 20:13:17 · 176 阅读 · 0 评论