📝 Rust教程

67篇技术文档
  Rust结构方法语法

📅  最后修改于: 2021-01-08 13:41:01        🧑  作者: Mango

方法语法方法与函数相似,因为它们的开头包含fn关键字,然后包含函数名称。方法还包含参数和返回值。但是,当在struct上下文中声明该方法时,该方法的语法与常规函数有所不同。此类方法的第一个参数始终是self,它表示在其上函数的实例。定义方法让我们在结构上下文中声明该方法时定义该方法。输出:当在struct上下文中声明该方法时,我们将在实现块(即impl块)中定义该方法。第一个参数是签名中以及身体内...

  Rust枚举

📅  最后修改于: 2021-01-08 13:41:55        🧑  作者: Mango

什么是Rust Enum?枚举是一种自定义数据类型,其中包含一些确定的值。它在枚举名称之前用enum关键字定义。它还由方法组成。枚举的语法:在上面的语法中,enum_name是枚举的名称,variant1,variant2,..是与枚举名称相关的枚举值。例如:在上面的示例中,computer_language是枚举名称,C,C++,Java是computer_language的值。枚举值让我们创建...

  使用Match运算符的Rust控制流

📅  最后修改于: 2021-01-08 13:42:50        🧑  作者: Mango

匹配运算符匹配运算符允许我们将值与一系列模式进行比较,并在找到匹配项时执行代码。模式可以是字面量值,变量名,通配符和许多其他内容。让我们通过一个简单的示例了解match运算符:输出:在上面的示例中,Computerlanguage是一种自定义数据类型,由四个变体组成,分别是C,Cplus,Java和Csharp。 match运算符将语言的值与match运算符块中给定的表达式进行匹配。与选配<T>在...

  使用if let运算符的Rust控制流

📅  最后修改于: 2021-01-08 13:43:43        🧑  作者: Mango

如果让简洁的控制流程if let语法用于组合if和let,该if和let在忽略其余代码的情况下处理与模式之一匹配的值。 “ match”运算符和“ if let”表达式的工作方式相似。匹配运算符的示例输出:在上面的示例中,当值等于Some(5)时,匹配运算符执行代码。执行第一个变体后,“ _ =>()”表达式满足match表达式。如果我们使用if let代替match,那么它将减少代码的长度。if...

  锈模块

📅  最后修改于: 2021-01-08 13:44:39        🧑  作者: Mango

防锈模块模块是一个命名空间,其中包含函数或其类型的定义。模块是项的集合,例如函数,结构,特征,隐含模块。默认情况下,模块的修饰符是私有的,但是可以使用pub关键字用public修饰符覆盖它。以下是模块中使用的关键字:mod关键字:“ mod”关键字声明新模块。pub关键字:默认情况下,所有函数,类型,模块和常量都有一个私有的可见性修饰符。 pub关键字将可见性修改器设置为公共,因此可以在名称空间之...

  Rust模块文件系统

📅  最后修改于: 2021-01-08 13:45:36        🧑  作者: Mango

文件系统模块形成了层次结构,因此项目变得更加易于理解。 Rust模块系统用于拆分多个文件,使得并非所有内容都位于src / lib.rs或src / main.rs文件中。文件名:src / lib.rs在上面的示例中,程序由三个模块组成,即A,B和C。C是B模块的内部模块。给定文件的模块层次结构为:如果模块包含许多功能并且这些功能非常冗长,则很难找到特定函数的代码。 Rust通过提供模块系统来提...

  Rust使函数公开

📅  最后修改于: 2021-01-08 13:46:29        🧑  作者: Mango

公开运作在“酒吧”关键字在声明的开头,所以函数变得对外界函数访问使用。以下是隐私规则:如果任何函数或模块是公共的,那么任何父模块都可以访问它。如果任何函数或模块是私有的,则可以通过其直接父模块或父模块的子模块对其进行访问。让我们通过一个简单的例子来理解这一点:输出:在上面的示例中,main()函数是根模块,而外部模块是项目的当前根模块。因此,main()函数可以访问外部模块。由于函数a()是公共的...

  Rust使用关键字

📅  最后修改于: 2021-01-08 13:47:26        🧑  作者: Mango

引用不同模块中的名称当我们调用模块的函数时,我们需要指定完整路径。让我们通过一个例子来理解这个概念:输出:在上面的示例中,通过指定完整路径(即a :: b :: c :: nested_modules())来调用nested_modules()函数。使用关键字在上述情况下,我们看到函数调用相当长。锈“使用关键字”缩短了函数调用带来的函数的模块中的范围的长度。 use关键字仅带来我们在范围中指定的那...

  锈矢量

📅  最后修改于: 2021-01-08 13:48:28        🧑  作者: Mango

什么是向量?向量是一个单一的数据结构,使您可以在内存中一个接一个地存储多个值。当我们具有物品清单(例如购物车中的物品)时,矢量很有用。要点:向量用于存储相同类型的值。向量由Vec <T>表示。Vec <T>由标准库提供,该库可以保存任何类型的数据,其中T确定向量的类型。向量的数据分配在堆上。向量是可增长的数组,意味着可以在运行时添加新元素。Vec <T>:当向量包含特定类型时,则将其显示在尖括号中...

  Rust字符串

📅  最后修改于: 2021-01-08 13:49:32        🧑  作者: Mango

串Rust包含两种类型的字符串:&str和String。串:字符串被编码为UTF-8序列。在堆内存上分配了一个字符串。字符串的大小可以增长。它不是一个以零结尾的序列。&str'&str'也称为字符串切片。它用&[u8]表示以指向UTP-8序列。'&str'用于查看字符串存在的数据。它的大小是固定的,即无法调整大小。黑白相差'String'和'&str'。字符串是可变的引用,而&str是对字符串的不...

  Rust错误处理

📅  最后修改于: 2021-01-08 13:50:26        🧑  作者: Mango

锈错误处理错误处理是一种机制,在这种机制中,Rust确定错误的可能性并确认您在代码进行编译之前已采取了某些措施。这种机制使程序更加健壮,因为它使您能够在部署代码以进行生产之前发现并处理错误。Rust编程语言不包含异常。Rust中有两种错误类型:无法恢复的错误:可恢复的错误可恢复错误:可恢复错误是报告给用户的错误,用户可以重试该操作。可恢复的错误并不是很严重,无法完全停止该过程。它由Result <...

  Rust无法恢复的错误

📅  最后修改于: 2021-01-08 13:51:20        🧑  作者: Mango

惊慌失措,无法恢复错误!不可恢复的错误是检测到的错误,程序员无法对其进行处理。当发生此类错误时,请惊慌!宏被执行。恐慌!打印失败消息。惊慌!宏展开将清理堆栈,然后退出。展开:展开是从其遇到的每个函数的堆栈存储器中清除数据的过程。但是,展开过程需要大量工作。展开的替代方法是中止。中止:中止是在不清除堆栈存储器中数据的情况下结束程序的过程。操作系统将删除数据。如果我们从平缓切换到中止,那么我们需要添加...

  Rust恢复错误

📅  最后修改于: 2021-01-08 13:52:20        🧑  作者: Mango

锈迹恢复错误可恢复的错误是那些不会完全停止程序的错误。可以处理的错误称为可恢复错误。它由Result <T,E>表示。 Result <T,E>是一个包含两个变体的枚举,即OK <T>和Err <E>。它描述了可能的错误。OK <T>:'T'是一种值类型,在成功的情况下返回OK变量。这是预期的结果。Err <E>:'E'是一种错误类型,它在失败时返回ERR变量。这是出乎意料的结果。在上述情况下,R...

  Rust泛型

📅  最后修改于: 2021-01-08 13:53:21        🧑  作者: Mango

锈泛型当我们要创建多种形式的函数时,即函数的参数可以接受多种类型的数据。这可以通过泛型来实现。泛型也称为“参数多态性”,其中poly是多个,而morph是形式。提供通用代码有两种方法:选项<T>结果<T,E>1. Option <T>:Rust标准库提供Option其中“ T”是通用数据类型。它提供一种以上的泛型。在上述情况下,enum是自定义类型,其中<T>是通用数据类型。我们可以将“ T”替换...

  锈特质

📅  最后修改于: 2021-01-08 13:54:27        🧑  作者: Mango

锈性状Rust特征是Rust语言的一种功能,描述了它可以提供的每种类型的功能。特质类似于其他语言中定义的接口的功能。特征是一种将方法签名分组以定义一组行为的方法。通过使用trait关键字定义特征。特征的语法:在上述情况下,我们声明特征后跟特征名称。在花括号内,声明了方法签名以描述实现特征的类型的行为。让我们看一个简单的例子:输出:在上面的示例中,声明了名为HasArea的特征,其中包含area()...