Rust语言学习(一)Hello World


Rust 是一门系统级编程语言,以其 性能、内存安全 和 并发安全 而闻名。它被设计为可以编写高性能、可靠的软件,同时又不牺牲开发者的生产力。

Rust 的主要特点:

  • 内存安全: Rust 拥有一个强大的类型系统和所有权模型,能够在编译时捕获许多常见的编程错误,如空指针引用、悬垂指针和数据竞争。
  • 性能: Rust 代码的运行速度可以与 C++ 相媲美,甚至在某些情况下还能超越。
  • 并发安全: Rust 的并发模型使得编写可靠的并发程序变得更加容易。
  • 零成本抽象: Rust 提供了丰富的抽象机制,但这些抽象并不会带来额外的运行时开销。
  • 工具链强大: Rust 拥有一个活跃的社区和完善的工具链,包括包管理器、构建工具、集成开发环境等。

为什么选择 Rust?

  • 系统编程: Rust 非常适合编写操作系统、嵌入式系统、网络服务器、游戏引擎等对性能和可靠性要求极高的软件。
  • Web 开发: Rust 可以用于构建高性能的 Web 应用程序的后端,例如使用 Rocket、Actix 等框架。
  • 数据科学: Rust 在数据科学领域也逐渐受到关注,因为它可以提供比 Python 更高的性能。
  • 区块链: Rust 的安全性、并发性和性能使其成为区块链开发的理想选择。

Rust 的学习曲线

Rust 的学习曲线相对陡峭,尤其是对于习惯了垃圾回收机制的开发者来说。但是,Rust 的社区非常友好,提供了大量的学习资源,包括官方文档、教程、书籍和在线课程。

Rust 的安装

要做 Rust 编程开发,安装 Rust 编译器套件是第一步。如果是在 MacOS 或 Linux 下,只需要执行:

1
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

而如果你使用的是 Windows 系统,那么你既可以在 WSL 中开发编译 Rust 代码,也可以在 Windows 原生平台上开发 Rust 代码。如果你计划在 WSL 中开发,安装方式与上面一致。

1
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

如果你想在 Windows 原生平台上开发,首先需要确定安装 32 位的版本还是 64 位的版本。在安装过程中,它会询问你是想安装 GNU 工具链的版本还是 MSVC 工具链的版本。安装 GNU 工具链版本的话,不需要额外安装其他软件包。而安装 MSVC 工具链的话,需要先安装微软的 Visual Studio 依赖。

Rust 官网下载地址:https://www.rust-lang.org/tools/install

windows下rust安装

如果你不想在电脑上安装或者不方便安装,也可以使用在线的 Rust 编译器,比如 Rust Playground。这个在线编译器允许你在线编写和运行 Rust 代码,但是它不能让你在本地编译和运行 Rust 代码。

Rust Playground

Rust 编译器套件安装好之后,会提供一些工具,接下来简单介绍几个比较重要的:

  • cargo 是 Rust 的包管理器,构建工具和依赖解决工具。可以用 cargo 命令创建、编辑和构建 Rust 项目。例如:cargo new --bin my_project # 创建一个名为 my_project 的新项目
  • rustup 用来升级维护 Rust 编译器套件的版本,同时支持维护多个版本,并可以用来安装 Rust 组件。例如:rustup update stable # 更新 Rust 编译器套件到最新稳定版本
  • rust-fmt 用来格式化 Rust 代码。例如:配合cargo,在工程目录下运行 cargo fmt 就可以对整个工程进行代码格式化
  • rust-clippy 用来检查 Rust 代码中的潜在问题。例如:配合cargo,在工程目录下运行 cargo clippy 就可以对整个工程进行代码检查

IDE

开发 Rust 程序推荐使用 vscode,安装好 vscode 后再安装 rust-analyzer 插件就可以了。

vscode 界面

创建项目 Hello World!

打开 vscode,新建一个文件夹,然后打开命令行,输入:

1
cargo new --bin helloworld 

终端显示:

1
Created binary (application) `helloworld` package

打开工程目录,可以看到多了一个 helloworld 文件夹。

helloworld

里面第一层是一个 src 目录和一个 Cargo.toml 配置文件。src 是放置源代码的地方,而 Cargo.toml 是这个工程的配置文件,我们来看一下里面的内容。

1
2
3
4
5
6
7
8
9
[package]
name = "helloworld"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

Cargo.toml 中包含 package 等基本信息,里面有名字、版本和采用的 Rust 版次

接下来看看 src 下的 main.rs 里面的代码:

1
2
3
fn main() {
println!("Hello, world!");
}

这段代码的意思是,我们要在终端输出这个 “Hello, world!” 的字符串。使用 cargo build 来编译。

1
2
3
$ cargo build
Compiling helloworld v0.1.0 (/Users/hejiangda/OwnProject/rust/helloworld)
Finished dev [unoptimized + debuginfo] target(s) in 0.71s

使用 cargo run 命令可以直接运行程序。

1
2
3
4
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.02s
Running `target/debug/helloworld`
Hello, world!

终端打印出了 Hello, world。我们成功地执行了第一个 Rust 程序。

江达小记