生命周期定义了引用有效的范围。生命周期是隐含的和推断的。Rust使用通用生命周期参数来确保使用有效的实际引用。 预防与生命周期的悬空引用 当程序试图访问无效引用时称为悬空引用,所指向无效资源的指针称为悬空指针。 看看一个…
分类:Rust教程
Rust Trait
Rust trait 是Rust语言的一个特性(性状),它描述了它可以提供的每种类型的功能。性状类似于其他语言中定义的接口的特征。性状是一种对方法签名进行分组以定义一组行为的方法。使用trait关键字定义性状。 trai…
Rust泛型
当要创建多种形式的功能时,即,函数的参数可以接受多种类型的数据。 这可以通过泛型来实现。 泛型也称为“参数多态”,其中多态是多重的,而变形是形式。 有两种方法可以提供通用代码: Option<T> Resul…
Rust可恢复的错误
可恢复的错误是那些完全停止程序并不严重的错误。可以处理的错误称为可恢复错误。它由Result <T,E>表示。 结果<T,E>是枚举,由两个变体组成,即OK <T>和Err <E…
Rust不可恢复的错误
不可恢复的错误是检测到的错误,程序员无法处理它。 当发生这种错误时,panic!宏会被执行。panic!打印失败消息。 panic!清理堆栈然后退出。 展开(Unwinding):展开是一个清理它遇到的每个函数的堆栈内存…
Rust错误处理
错误处理是Rust确定出错的可能性并确认在代码进行编译之前采取某些操作的机制。此机制使程序更加健壮,因为能够在部署生产代码之前发现并处理错误。Rust编程语言不包含异常。 Rust中有两种类型的错误: 不可恢复的错误。 …
Rust字符串
Rust包含两种类型的字符串:&str和String。 String 字符串被编码为UTF-8序列。 在堆内存上分配一个字符串。 字符串的大小可以增长。 它不是以空(null)值终止的序列。 &str &…
Rust向量
向量是一种单一数据结构,可以在内存中彼此相邻地存储多个值。 当有一个项目列表(例如:购物车中的数据项)时,向量很有用。 要点: 向量用于存储相同类型的值。 矢量由Vec <T>表示。 Vec <T>…
Rust use关键字引用模块
当调用模块的函数时,需要指定完整的路径。 通过下面一个例子来理解这个概念: pub mod a { pub mod b { pub mod c { pub fn nested_modules() { println!("…
Rust公开函数
pub关键字用于声明的开头,以便外部函数可以访问该函数。 以下是私有规则: 如果任何函数或模块是公共的,则任何父模块都可以访问它。 如果任何函数或模块是私有的,则可以通过其直接父模块或父项的子模块来访问它。 通过下面一个…
Rust文件系统
模块形成层次结构,使项目变得更容易理解。 Rust模块系统用于分割多个文件,使得并非所有内容都位于src/lib.rs或src/main.rs文件中。 文件名:src/lib.rs mod A { fn a() { //…
Rust模块
模块是一个名称空间,包含函数或其类型的定义。 模块是函数,结构,特征,impl块等项的集合。 默认情况下,模块的修饰符是私有的,但可以使用pub关键字使用public修饰符覆盖它。 以下是模块中使用的关键字: mod关键…