找到 35 篇文章 关于 Rust 编程

Rust 编程中的结构体可见性

Mukul Latiyan
更新于 2021年4月3日 13:31:24

1K+ 次查看

Rust 中的结构体包含额外的可见性级别。开发人员可以根据自己的需要修改这些级别。在正常情况下,Rust 中结构体的可见性是私有的,可以通过使用 pub 修饰符将其设为公有。需要注意的是,只有当我们尝试从定义它的模块外部访问结构体字段时,这种可见性才有意义。当我们隐藏结构体的字段时,我们只是试图封装数据。示例请考虑以下示例:mod my {    // A ... 阅读更多

Rust 编程中的切片

Mukul Latiyan
更新于 2021年4月3日 14:43:14

189 次查看

Rust 中的切片是相同数据类型 T 的元素集合,但与数组不同,它不需要在编译时知道其长度。在 Rust 中,切片是一个双字对象,其中第一个字实际上是指向数据的指针,第二个字只是切片的长度。切片比数组更安全,并且允许高效地访问数组而不进行复制。切片是从数组、字符串创建的。它们可以是可变的,也可以是不变的。切片通常指的是数组或... 阅读更多

Rust 编程中的 Result 类型

Mukul Latiyan
更新于 2021年4月3日 13:23:47

140 次查看

Rust 中出现两种类型的错误,一种是可恢复错误,另一种是不可恢复错误。我们借助 panic! 宏处理不可恢复错误,而 Result 类型和其他方法则帮助处理可恢复错误。Result 类型是 Option 类型的一个更好的版本,它只描述可能的错误,而不是可能的缺失。签名Result 类型的签名是 Result < T, E>,它只有两种结果。它们是: Ok(T):找到一个元素 T。Err(E):找到一个带有元素 E 的错误。Rust 还提供了一些不同的方法,我们可以将它们与... 阅读更多

Rust 编程中的程序参数

Mukul Latiyan
更新于 2021年4月3日 13:21:14

65 次查看

处理运行时传递的参数是任何编程语言的关键特性之一。在 Rust 中,我们借助 std::env::args 访问这些参数,它返回一个迭代器,为每个传递的参数提供一个字符串。示例请考虑以下示例:use std::env; fn main() {    let args: Vec = env::args().collect();    // 第一个参数是用于调用程序的路径。    println!("我的当前目录路径是 {}。", args[0]);    println!("我获得了 {:?} 个参数:{:?}。", args.len() - 1, &args[1..]); }我们可以这样传递参数:./args 1 2 3 4 ... 阅读更多

Rust 编程中的 Path 结构体

Mukul Latiyan
更新于 2021年4月3日 14:40:28

368 次查看

Rust 中的 Path 结构体用于表示底层文件系统中的文件路径。还需要注意的是,Rust 中的 Path 不是表示为 UTF-8 字符串;而是存储为字节向量 (Vec)。示例请考虑以下示例: 实时演示use std::path::Path; fn main() {    // 从 `&'static str` 创建一个 `Path`    let path = Path::new(".");    // `display` 方法返回一个 `Show`able 结构    let display = path.display();    // 检查路径是否存在    if path.exists() {       println!("{} 存在", display);    } ... 阅读更多

Rust 编程中的 Panic! 宏

Mukul Latiyan
更新于 2021年4月3日 14:38:40

222 次查看

Rust 中的错误处理是借助 panic! 宏完成的。Rust 中还有其他处理错误的方法,但 panic 是独一无二的,因为它用于处理不可恢复的错误。当我们执行 panic! 宏时,整个程序从堆栈中展开,因此它会退出。由于程序退出方式,我们通常使用 panic! 处理不可恢复的错误。语法调用 panic 的语法如下:panic!("遇到错误");我们通常在括号内传递自定义消息。示例请将以下代码作为参考: 实时演示fn drink(beverage: ... 阅读更多

Rust 编程中的 Match

Mukul Latiyan
更新于 2021年4月3日 14:32:57

236 次查看

Rust 为我们提供了 match 关键字,可用于模式匹配。它类似于 C 语言中的 switch 语句,并且会评估第一个匹配的分支。示例请考虑以下示例:fn main() {    let number = 17;    println!("告诉我关于 {} 的信息", number);    match number {       1 => println!("一!")       2 | 3 | 5 | 7 | 11 => println!("素数"),       13..=19 => println!("青少年"),       _ => println!("不特殊"),    } }在上面的示例中,我们试图使用... 阅读更多

Rust 编程中的 Loop 关键字

Mukul Latiyan
更新于 2021年4月3日 14:31:52

159 次查看

Rust 提供了一个 loop 关键字,允许我们运行无限循环。loop 关键字指示的无限循环可以通过使用 break 关键字来中断。此外,我们还可以借助 continue 关键字退出迭代并继续无限循环。示例请考虑以下示例: 实时演示fn main() {    let mut count = 0u32;    println!("无限循环开始!!");    // 无限循环    loop {       count += 1;       if count == 4 {          println!("四");         ... 阅读更多

Rust 编程中的 HashSet

Mukul Latiyan
更新于 2021年4月3日 13:04:16

405 次查看

Rust 还为我们提供了 HashSet 数据结构,主要用于确保数据结构中不存在重复值。如果我们尝试将一个已存在于 HashSet 中的新值插入其中,则先前值会被我们插入的新值覆盖。除了关键特性外,HashSet 还用于执行以下操作:并集 - 提取两个集合中所有唯一的元素。差集 - 获取第一个集合中存在但在第二个集合中不存在的所有元素。交集 - 获取... 阅读更多

Rust 编程中的 HashMap

Mukul Latiyan
更新于 2021年4月3日 14:29:00

526 次查看

HashMap 是一种重要的数据结构,因为它允许我们以键值对的形式存储数据。在 Rust 中,HashMap 通过键存储值。HashMap 的键可以是布尔值、整数、字符串或任何其他实现了 Eq 和 Hash 特征的数据类型。HashMap 的大小可以增长,当空间变得过于庞大时,它们也可以自行缩小。我们可以通过多种方式创建 HashMap,可以使用 HashMap::with_capacity(uint) 或 HashMap::new()。以下是 HashMap 支持的方法:insert()get()remove()iter()示例让我们来看一个示例,其中我们构建一个 HashMap 并使用上面列出的所有这些操作。请考虑以下示例: 实时演示use std::collections::HashMap; fn ... 阅读更多

广告