65.9K
CodeProject 正在变化。 阅读更多。
Home

Rust:您的下一个最爱语言 - 入门指南(从零到 Hello World 及更远)

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.95/5 (11投票s)

2023年4月26日

CPOL

6分钟阅读

viewsIcon

15095

使用 rustup 极其快速地安装 Rust、编译并运行您的第一个程序

为什么你应该学习 Rust?

学习 Rust 有很多原因。

  • 它是最容易安装的编译器/工具链(如下文所示),它可以让你构建原生可执行文件。
原生可执行文件

什么是原生可执行文件?它是一个直接在目标处理器上运行的程序,无需任何虚拟机或解释器。这非常棒,因为如果你想将可执行文件与运行相同操作系统的其他人共享,你只需将 exe 文件交给他们即可——无需他们安装庞大的库、解释器或运行时(例如 Java 运行时、Python 解释器或 .NET CLR)。

  • 你将学习“更接近底层”的编程

    与我之前关于原生可执行文件的说法类似——你的代码被编译为直接在处理器上运行(没有运行时环境或解释器)。这意味着你将更多地了解你正在运行的真实环境/操作系统。

  • 编程的整体理解将得到提升

    你将学习编程的核心概念。通过 Rust,你将学习编程“入门”阶段的概念。你不会专注于诸如构建用户界面等非常高级的事情,而是将在学习 Rust 的概念的同时了解计算机的实际工作原理。

  • Rust 很有趣

    在很多方面,用 Rust 学习编程是一种简化的编程,因为你不会立即陷入学习如何创建图形用户界面的麻烦。这消除了被学习所有这些额外东西压垮的负担,让编程变得更加有趣。用 Rust 学习编程类似于传统计算机编程的学习方式——例如,如果你读过 Brian Kernighan 和 Ritchie 的《C 编程语言》(K&R C)一书,你将以小的代码片段学习 Rust,并学习每个概念然后逐步深入。这是一种很棒且有趣的编程学习方式。但是,学习 Rust 比学习 C 更有趣,因为准备好编写 Rust 程序比安装 C 工具链要容易得多。

现在,让我们安装 Rust。

安装 Rust

Windows 安装

安装 Rustup,它将安装你所需的一切,并方便你以后更新。

Linux 或 macOS

运行 curl 来获取 rustup

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

其他安装帮助

有关更多详细信息,请查看官方 Rust 安装网站

Rust 已安装

如果你已按照系统上的步骤操作,那么 Rust 已经安装好了。

现在你可以打开一个终端(也称为控制台)并运行以下命令

rustc --version

这是我在我的 Windows 10 机器上看到的样子

编写我们的第一个程序

  1. 打开一个控制台或终端窗口(如果你仍然打开了运行 rustc 程序的那个,就可以使用它)。
  2. 创建一个目录来存放你的 Rust 项目。我喜欢在我的 /home// 下创建一个名为 dev 的目录,然后为每种语言创建一个单独的文件夹,例如:/home/<user>/dev/rust/home/<user>/dev/c#。当然,在 Windows 上,它看起来会是 %userprofile%\dev\rust,它会展开为 c:\users\<user>\dev\rust
  3. 创建好用于存放项目的 rust 主目录后,然后创建一个新目录用于我们的第一个项目:在 Linux 上 $ mkdir ~/dev/rust/hello 或在 Windows 上 mkdir %userprofile%\dev\rust\hello 将创建我们想要创建小程序的目录。
  4. 现在,进入该目录:Linux cd ~/dev/rust/hello 或 Windows cd %userprofile%\dev\rust\hello
  5. 创建一个新的 Rust 源文件:在 Linux 上(使用 nano 文本编辑器),输入 nano hello.rs,或者在 Windows 上,使用记事本 notepad hello.rs
  6. 输入以下程序并保存它(在 nano 中,只需键入 Ctrl-X(退出),然后键入 'y' 以确认您想保存文件)。
fn main() {
   println!("Hello, Rust-world!");
}

编译程序

现在是精彩的部分。只需运行 Rust 编译器(rustc)
$ rustc hello.rs 在 Windows 上也是如此。

这将把程序编译成一个名为 hello(在 Windows 上为 hello.exe)的可执行文件。

运行程序

$ ./hello <ENTER> 或者在 Windows 上 \>hello <ENTER>

你将看到输出

你做到了!你已经迈出了成为 Rustacean 的第一步。

但是,你做了什么?

程序详情:你做了什么?

main() 函数

你创建了一个包含主入口点的源文件(一个名为 main 的函数)。

Rust 函数

Rust 函数的格式为

fn [name]( [0 or more parameters] )
{
  // function body
}

fn 在 Rust 中表示一个函数。如果你不使用这个关键字,Rust 将不知道这是一个函数。

Rust 需要 main() 函数

如果你将这个小程序中的函数重命名为 main1() 之类的名称并尝试再次编译应用程序,你将收到一个错误。

Rust 具有出色的错误信息

如果你搜索该错误,你将找到官方网页,其中提供以下信息

现在你知道 Rust 需要一个 main() 函数作为入口点。

那个奇怪的 println!()

唯一的代码行调用 println!() 将文本输出到标准输出。你可能已经注意到名称末尾的感叹号。这表明这实际上是一个正在调用的 Rust 宏。这是一个辅助方法,可以让你轻松地将内容写入标准输出。

Rust std(标准)库

你可能还注意到我们没有任何 using#include 语句,但我们已经能够输出到标准输出了。这是因为 Rust 自动为我们包含了 std 库。

包含所有基本类型

std 库定义了所有 Rust 的基本类型,包括

never, array, bool, char, f32, f64, fn, i8, i16, i32, i64, i128, isize, pointer, reference, slice, str, tuple, u8, u16, u32, u64, u128, unit, usize

更多关于这些内容将在未来的文章中介绍。

还有其他库免费包含在内。

例如,你可以创建一个字符串向量并轻松使用它们。

尝试运行此代码

fn main() {
    println!("Hello, Rust-world!");
    let mut vec = Vec::new();
    vec.push("test 1");
    vec.push("test 2");
    println!("{}",vec[0]);
}

这里,我们创建了一个新的向量类型。

Rust 中可变变量不是默认的

但是,为了能够修改新变量,我们需要使用关键字 mut(使变量可变)。

一旦我们这样做,我们就使用向量的 push 方法添加两个值(两个 string)。

最后,我们使用字符串插值 "{}" 打印出向量中第一个元素的值 vec[0](零基索引)。

你学到了什么

如果你一路学习下来,你已经学到了

  1. 学习 Rust 的各种好理由
  2. 如何安装 Rust(使用官方 rustup),这使得以后更新也很容易(只需输入 $ rustup upgrade(在 Linux、macOS 和 Windows 上都有效))。
  3. 每个 Rust 程序都需要一个 main() 函数。
  4. 函数使用关键字 fn 定义。
  5. 如何使用简单的 println!() 宏和 string 插值。
  6. Rust 中使用的基本数据类型列表。

要继续你的 Rust 之旅,请查看官方文档并继续学习。

历史

  • 2023 年 4 月 26 日:首次发布
Rust:你下一个最喜欢的语言 - 入门指南(从零到 Hello World 及更多)- CodeProject - 代码之家
© . All rights reserved.