01-rust入门之helloword

152 阅读5分钟

初识 Rust & 环境准备.png

前言

本系列文章为从0到1入门Rust的学习笔记,用于记录本人在学习 Rust 这门语言的一些重点和要点。而本文则是这一系列文章的开篇,主要介绍了 Rust 的一些特点、应用场景,以及安装和实现 helloworld 程序。

Rust 简介

Rust 是一门现代的系统级编程语言,旨在提供安全性、并发性和性能。它于2010年由 Mozilla 公司的工程师发起,并于2015年发布。Rust 的设计目标是提供一种可以替代 C/C++ 的语言,具备更好的内存安全性、并发性和开发者友好性。

Rust 的主要特点包括:

  1. 内存安全性:Rust 的所有权系统是其最引人注目的特性之一。它通过在编译时执行严格的借用检查,在运行时消除了空指针、野指针和数据竞争等内存安全问题。这使得 Rust 成为一门可以在系统级编程中提供更高安全性的语言。

  2. 并发性:Rust 的并发模型允许多个线程安全地操作共享数据。Rust 通过引入所有权和借用的概念,使得编写并发代码更加容易。同时,Rust 的标准库提供了各种并发原语和工具,如通道(channel)和锁(lock),以支持多线程编程。

  3. 性能:Rust 的设计注重性能。它提供了零成本抽象和对底层硬件的细粒度控制,使得开发者能够编写高效的代码。Rust 的编译器在生成高度优化的机器码方面表现出色,使得 Rust 在性能敏感的领域中具备竞争力。

  4. 开发者友好性:Rust 的语法简洁、清晰,并且具备表达力。它采用了模式匹配、泛型和函数式编程的特性,使得代码更易读、更可维护。此外,Rust 的工具链和社区生态系统也在不断发展,提供了良好的文档、测试工具和包管理器等。

Rust 在以下方面相比其他语言具有一些优势:

  1. 安全性:Rust 的所有权系统和借用检查使其能够避免许多常见的内存安全问题,如空指针解引用和数据竞争。相比于 C/C++,Rust 提供了更高层次的安全性保障,减少了潜在的漏洞和崩溃的风险。
  2. 并发性:Rust 的并发模型和内存安全特性使得编写并发代码更加容易。它提供了线程安全的原语和工具,方便开发者进行多线程编程。相比于其他语言,Rust 在保证安全性的同时,提供了更好的并发性能。
  3. 性能:Rust 的设计注重性能,它生成的机器码能够与 C/C++ 相媲美。Rust 具备零成本抽象和细粒度的控制,使得开发者能够编写高效的代码。这让 Rust 成为开发高性能应用和系统的理想语言。
  4. 应用场景:Rust 适用于许多领域,尤其是那些对于性能、安全性和并发性要求较高的应用。例如,网络服务、嵌入式系统、游戏开发、编译器和操作系统等。Rust 的生态系统还在不断发展,因此它的适用领域还在扩展。
  5. 多处理器Rust 在设计之初就考虑到了多处理器的场景,因此,如果你的应用程序需要能够更好的利用多处理器的能力,Rust 应该是一个很不错的选择。

从上面的特点和优势看来,在对性能、安全性和并发性要求较高的应用场景下,Rust 是一个值得考虑的选择。

Rust 安装

了解了 Rust 的一些优势和应用场景之后,我们就来正式学习一下 Rust 这门语言吧。在开始写代码之前,首先需要安装 Rust。你可以根据你自己电脑的系统依据官网教程自行安装:

Install Rust

安装好之后,在终端中执行以下命令:

rustc --version

若输出如下信息,就说明已经安装好了:

641705223528_.pic.jpg

Rust 文件命名规范

Rust 当中,文件的命名通常使用消息字母加数字命名,多个单词之间使用 _ 分隔,如:

hello_world.rs

最简单的程序

// main 函数是所有的 rust 程序的主入口
// 使用 fn 关键字定义一个函数
fn main() {
  // 注意,下面的 println 是 rust 的一个宏,即 Rust Macro,因此在名称后面需要加一个 !
  // 如果只是调用普通函数,而不是宏的话,不需要加 !,如调用 test 函数,就直接 test() 即可
  println!("hello world!");
}

编译

Rust 不像是 js 写完之后直接运行即可,它更像是 typescript,还需要使用编译器编译后才能运行(typescript的编译器是 tsc)。

Rust 当中,编译器是:rustc,我们直接使用这个编译器对我们刚刚创建的文件进行编译:

rustc hello_world.rs

执行上述命令之后,我们会在跟源文件同一目录下生成一个可执行的同名文件:

651705223528_.pic.jpg

rustc 命令只适合简单程序的编译,如果是复杂程序我们推荐使用 cargo 进行工程化的编译与执行,至于 cargo 是什么东西,将会在下一篇文章中详细介绍,这里就不多赘述。

运行

上面已经生成了可执行文件了,接下来我们运行一下看看效果如何,我们只需要直接执行 hello_world 文件即可:

661705223528_.pic.jpg

预编译型(ahead-of-time )语言

从上面编译和执行的步骤我们可以很容易的发现,Rust 的编译和执行是可以分开执行的,而在运行的时候,即使你的电脑上没有安装 Rust 环境也可以执行。因此,我们可以将编译好的可执行文件直接发送给别人去执行。

结语

现在,我们已经了解了 Rust 的一些特点和应用场景,也已经安装好了 Rust 的基础运行环境,并带大家一起实现了最简单的 helloworld 程序。相信大家都已经蠢蠢欲动,想要了解更多关于 Rust 语言的特性和知识了吧。那我们就来一步步揭开 Rust 的神秘面纱吧。