Rust 基础知识
在过去的 20 年里,计算机和互联网的需求不断增长,随着新技术、设备和协议的发展,编程语言也在定期更新,但大多数早期的编程语言(如 C、C++)仍然存在一些缺陷。这些缺点促使其他人创建新的编程语言,如 Go、Rust、 Python等。在这些教程中,我们将讨论其中一种编程语言。 Rust 语言旨在用于高并发和高安全性的系统。 Rust 语言强调安全性、内存布局控制和并发性。
Rust 编程语言
Rust 是一种多范式编程语言,类似于 C++ 语法,它是为性能和安全性而设计的,尤其是通过使用借用检查器和所有权来验证引用的安全并发性。 Rust 是由 Mozilla 研究的Graydon Hoare 在Dave Herman、Brendan Eich 和其他人的贡献下开发的。这在没有垃圾收集的情况下实现了内存安全。 Rust 是一种编译系统编程语言。
为什么生锈?
Rust 在程序员中流行的原因有很多。以下是原因:
- Rust 很快: Rust 编程语言是一种类似于 C++ 语法的多范式编程语言。因此,任何人都可以很容易地学习 Rust。跨多个平台的 Rust 代码编译为本地机器代码。
- Rust 是内存安全的: Rust 激发开发人员编写安全代码。与 C 不同,它不提供内存不安全的东西,如悬空指针、未初始化指针和 NULL 指针。
- Rust 是低开销的:在Rust 编程语言中,所有值都有唯一的所有者,并且值的范围与所有者的范围相同,这就是它具有所有权系统的原因。
- Rust 很灵活: Rust 是为性能和安全而设计的,尤其是通过使用借用检查器和所有权来验证引用的安全并发性。
- Rust 易于使用: Rust 编程语言语法类似于 C++ 语言语法,因此易于使用或易于理解。
rust 中的示例程序,以扩展名 .rs 保存
RUST
fn main() {
println!("geeks for geeks");
}
输出:
geeks for geeks
我们可以使用终端安装 Rust。对于 linux 和 macOS 打开我们的终端并使用 curl 可以自动为我们安装 rust,我们可以参考 Rust 文档进行 windows 安装
$ curl –proto ‘=https’ –tlsv1.2 https://sh.rustup.rs -sSf | sh
我们可以检查我们是否正确安装了 Rust,打开一个 shell 并输入这个命令
$ rustc –version
Rust 编程语言的特点
Rust 编程语言创建和维护保持大系统完整性的边界。 Rust是一种多范式编程语言。它专为安全和性能而设计。有一些功能使它与众不同。
- 所有权:在Rust 编程语言中,所有值都有唯一的所有者,并且值的范围与所有者的范围相同,这就是它具有所有权系统的原因。值可以通过不可变引用和可变引用传递,使用&T和 &mut T ,或按值,使用T 。要么有多个不可变引用,要么有一个可变引用。
- 内存安全:在内存安全方面,Rust 鼓励开发人员编写安全的代码。与 C 不同,它不提供内存不安全的东西,如悬空指针、未初始化指针和 NULL 指针。结果,代码变得更加安全和稳定。它有定义格式来初始化数据值。与 C 类似,它确实通过添加的语法提供控制来处理变量的生命周期。除此之外,它还提供了使用 unsafe 关键字编写不安全代码的灵活性,理想情况下应该避免使用,直到没有其他方法。
- 内存管理:程序员的表现还取决于语言如何在内部管理内存。 Rust 适用于 RAII ,与 java 的垃圾收集不同。添加到此引用计数也可供开发人员使用,但这是可选的。
什么是货物?
Cargo 是 Rust 的构建系统和包管理器,就像Python的 pip、Ruby 的 gem 和 Javascript 的 npm 一样。 Cargo 处理许多任务,例如构建和编译代码、下载代码所依赖的库以及构建这些库(依赖项)。 Cargo 大多预装了 Rust。
你可以通过下面的命令查看cargo,如果你没有看到版本号说明你还没有安装cargo
$ cargo –version
我们可以使用货物创建一个新的 rust 项目,为此使用以下命令。
cargo new gfg
cd gfg
cargo new 命令在指定目录中创建一个新的货物项目。该目录包含项目的cargo.lock、cargo.toml、src 文件。
- cargo.lock – 项目的锁定文件
- cargo.toml - 包含项目的详细信息和依赖项,示例文件如下所示。
[package]
name = “gfg”
version = “0.1.0”
authors = [“Your Name
edition = “2018”
[dependencies]
- src – 包含项目源文件的目录,main.rs 文件是项目的主文件,默认创建
我们可以使用以下任何命令运行该项目。
// compiled out put
cargo build
// runs the compiled output
cargo run
// check the output
cargo check