Rust 入门

"Rust是一种采用过去的知识解决将来问题的技术"                      —— Graydon Hoare

建议的学习网站:

https://course.rs/first-try/hello-world.html

 

Rust是一种系统编程语言,最初由Mozilla Research开发,目的是为开发高性能、高安全性的系统软件提供支持。Rust具有以下几个特点:

  1.  **内存安全**:Rust最为显著的特点是它的内存安全性,它通过借用检查器(borrow checker)在编译时防止空指针引用、数据竞争等问题,而不依赖垃圾回收机制。
  2.  **高性能**:Rust能够像C和C++一样提供接近底层硬件的性能。这使得它适合编写对性能要求很高的系统软件。
  3. **零成本抽象**:Rust支持高级抽象,但这些抽象在性能上几乎没有额外开销,和手写的底层代码性能相当。
  4.  **并发性**:Rust内置了对并发编程的支持,并通过其所有权系统帮助开发者避免常见的并发错误。
  5.  **跨平台**:Rust可以编译到多种平台,支持嵌入式开发、WebAssembly等。

由于这些特性,Rust被广泛用于系统编程、嵌入式开发、WebAssembly、后端服务开发等领域,同时也越来越受到开发者社区的青睐。

可以使用以下代码进行rustup的安装

# curl https://sh.rustup.rs -sSf | sh

Rust提供的match表达式特性十分强大,可以检查是否是Some(n)值或者是None值

 

什么是Some(n)

在 Rust 编程语言中,Some(n) 是与 Option 枚举类型相关的一个值,它用于表示某种可能存在的值。Option 枚举用于处理可能为空的值,类似于其他语言中的 nullNone 类型,但更安全。

Option 枚举

Option 是 Rust 中一个通用枚举,用来表示一个值存在或不存在。它有两个变体:

  1. Some(T):表示包含一个类型为 T 的值。
  2. None:表示没有值。

 

 

&str类型

在 Rust 编程语言中,&str 是一种字符串切片类型,它表示对字符串的一种不可变引用。它通常用于指向存储在别处的 UTF-8 编码的字符串数据,并且不会复制数据。

以下是 &str 的关键特点:

  1. 不可变&str 是一个不可变引用,意味着它指向的字符串数据不能被修改。
  2. 引用&str 是一个引用类型,指向实际的字符串数据,因此它的大小是固定的(它存储的是指向数据的指针和字符串的长度)。
  3. 零拷贝:因为它是一个引用,使用 &str 不会复制字符串的内容,从而提高了效率。

通常你会在以下场景中看到 &str

  • 字符串字面量,例如:let s: &str = "hello";
  • 当需要高效地处理不需要修改的字符串数据时,使用 &str 会避免不必要的内存分配。

&str 相对应的可变字符串类型是 String,它允许动态分配和修改字符串。&str 可以从 String 类型中借用:let s: String = String::from("hello"); let slice: &str = &s;

点赞

当前页面评论已关闭。