"Rust是一种采用过去的知识解决将来问题的技术" —— Graydon Hoare
建议的学习网站:
https://course.rs/first-try/hello-world.html
Rust是一种系统编程语言,最初由Mozilla Research开发,目的是为开发高性能、高安全性的系统软件提供支持。Rust具有以下几个特点:
- **内存安全**:Rust最为显著的特点是它的内存安全性,它通过借用检查器(borrow checker)在编译时防止空指针引用、数据竞争等问题,而不依赖垃圾回收机制。
- **高性能**:Rust能够像C和C++一样提供接近底层硬件的性能。这使得它适合编写对性能要求很高的系统软件。
- **零成本抽象**:Rust支持高级抽象,但这些抽象在性能上几乎没有额外开销,和手写的底层代码性能相当。
- **并发性**:Rust内置了对并发编程的支持,并通过其所有权系统帮助开发者避免常见的并发错误。
- **跨平台**:Rust可以编译到多种平台,支持嵌入式开发、WebAssembly等。
由于这些特性,Rust被广泛用于系统编程、嵌入式开发、WebAssembly、后端服务开发等领域,同时也越来越受到开发者社区的青睐。
可以使用以下代码进行rustup的安装
# curl https://sh.rustup.rs -sSf | sh
Rust提供的match表达式特性十分强大,可以检查是否是Some(n)值或者是None值
什么是Some(n)
在 Rust 编程语言中,Some(n)
是与 Option
枚举类型相关的一个值,它用于表示某种可能存在的值。Option
枚举用于处理可能为空的值,类似于其他语言中的 null
或 None
类型,但更安全。
Option
枚举
Option
是 Rust 中一个通用枚举,用来表示一个值存在或不存在。它有两个变体:
Some(T)
:表示包含一个类型为T
的值。None
:表示没有值。
&str类型
在 Rust 编程语言中,&str
是一种字符串切片类型,它表示对字符串的一种不可变引用。它通常用于指向存储在别处的 UTF-8 编码的字符串数据,并且不会复制数据。
以下是 &str
的关键特点:
- 不可变:
&str
是一个不可变引用,意味着它指向的字符串数据不能被修改。 - 引用:
&str
是一个引用类型,指向实际的字符串数据,因此它的大小是固定的(它存储的是指向数据的指针和字符串的长度)。 - 零拷贝:因为它是一个引用,使用
&str
不会复制字符串的内容,从而提高了效率。
通常你会在以下场景中看到 &str
:
- 字符串字面量,例如:
let s: &str = "hello";
- 当需要高效地处理不需要修改的字符串数据时,使用
&str
会避免不必要的内存分配。
与 &str
相对应的可变字符串类型是 String
,它允许动态分配和修改字符串。&str
可以从 String
类型中借用:let s: String = String::from("hello"); let slice: &str = &s;
。