世界您好!
现在您已经安装了 Rust,是时候编写您的第一个 Rust 程序了。
传统上,在学习一门新语言时编写一个小程序
打印文本Hello, world!
到屏幕上,所以我们在这里做同样的事情!
注意:本书假定您对命令行有基本的了解。Rust 使
对您的编辑或工具或代码所在的位置没有特定要求,因此
如果您更喜欢使用集成开发环境 (IDE) 而不是
命令行,请随意使用您最喜欢的 IDE。现在许多 IDE 都有一些
Rust 支持程度;有关详细信息,请查看 IDE 的文档。锈蚀
团队一直专注于通过以下方式实现出色的 IDE 支持rust-analyzer
.有关更多详细信息,请参阅附录 D。
创建项目目录
首先,您将创建一个目录来存储 Rust 代码。这不重要 到你的代码所在的 Rust,但对于本书中的练习和项目, 我们建议在你的主目录中创建一个 projects 目录,并保留所有 你的项目在那里。
打开终端并输入以下命令以创建 projects 目录 以及 projects 目录中的 “Hello, world!” 项目的目录。
对于 Linux、macOS 和 Windows 上的 PowerShell,请输入以下内容:
$ mkdir ~/projects
$ cd ~/projects
$ mkdir hello_world
$ cd hello_world
对于 Windows CMD,请输入以下内容:
> mkdir "%USERPROFILE%\projects"
> cd /d "%USERPROFILE%\projects"
> mkdir hello_world
> cd hello_world
编写和运行 Rust 程序
接下来,创建一个新的源文件并将其命名为 main.rs。Rust 文件总是以 .rs 扩展名。如果您在文件名中使用了多个单词,则 惯例是使用下划线分隔它们。例如,使用 hello_world.rs 而不是 helloworld.rs。
现在打开你刚刚创建的 main.rs 文件,并输入示例 1-1 中的代码。
fn main() { println!("Hello, world!"); }
Hello, world!
保存文件并返回到 ~/projects/hello_world 目录中的终端窗口。在 Linux 或 macOS 上,输入以下内容 命令编译并运行文件:
$ rustc main.rs
$ ./main
Hello, world!
在 Windows 上,输入命令.\main.exe
而不是./main
:
> rustc main.rs
> .\main.exe
Hello, world!
无论您的作系统是什么,字符串Hello, world!
应打印到
终端。如果您没有看到此输出,请返回查看安装的“故障排除”部分
部分以获取帮助的方法。
如果Hello, world!
打印出来了,恭喜!您已经正式编写了 Rust
程序。这使您成为 Rust 程序员 — 欢迎!
Rust 程序剖析
让我们详细回顾一下这个 “Hello, world!” 程序。这是第一部分 谜题:
fn main() { }
这些行定义了一个名为main
.这main
功能特殊:it
始终是在每个可执行 Rust 程序中运行的第一个代码。在这里,
第一行声明一个名为main
,并返回
无。如果有参数,它们将放在括号内。()
函数体包装在 .Rust 要求所有
函数体。将左大括号放在同一个
line 作为函数声明,并在两者之间添加一个空格。{}
注意:如果你想在 Rust 项目中坚持使用标准样式,你可以
使用名为rustfmt
要在
特定样式(更多rustfmt
在附录 D)。Rust 团队包含了这个工具
替换为标准 Rust 发行版rustc
是,所以它应该已经是
安装在您的计算机上!
主体main
function 包含以下代码:
#![allow(unused)] fn main() { println!("Hello, world!"); }
这行代码完成了这个小程序中的所有工作:它将文本打印到 屏幕。这里有四个重要的细节需要注意。
首先,Rust 风格是用四个空格缩进,而不是一个制表符。
第二println!
调用 Rust 宏。如果它调用了一个函数,则它
将输入为println
(如果没有!
).我们将在
更多细节见第 19 章。现在,您只需要知道使用!
表示您调用的是宏而不是普通函数,并且
不要总是遵循与 Functions 相同的规则。
第三,您会看到"Hello, world!"
字符串。我们将此字符串作为参数传递
自println!
,并将字符串打印到屏幕上。
第四,我们用分号 () 结束这一行,这表示这个
expression 已结束,下一个 is ready to begin.大多数 Rust 代码行
以分号结尾。;
编译和运行是单独的步骤
您刚刚运行了一个新创建的程序,因此让我们检查 过程。
在运行 Rust 程序之前,您必须使用 Rust 编译器通过以下方式对其进行编译
输入rustc
命令,并向其传递源文件的名称,例如
这:
$ rustc main.rs
如果你有 C 或 C++ 背景,你会注意到这类似于gcc
或clang
.编译成功后,Rust 会输出一个二进制可执行文件。
在 Linux、macOS 和 Windows 上的 PowerShell 上,您可以通过以下方式查看可执行文件
输入ls
命令:
$ ls
main main.rs
在 Linux 和 macOS 上,您将看到两个文件。使用 Windows 上的 PowerShell,您将 看到的三个文件与使用 CMD 时看到的相同。使用 Windows 上的 CMD,您可以 将输入以下内容:
> dir /B %= the /B option says to only show the file names =%
main.exe
main.pdb
main.rs
这将显示扩展名为 .rs 的源代码文件,即可执行文件 (在 Windows 上main.exe,但在所有其他平台上是 main),并且,当使用 Windows,一个包含扩展名为 .pdb 的调试信息的文件。 在此处,运行 main 或 main.exe 文件,如下所示:
$ ./main # or .\main.exe on Windows
如果您的 main.rs 是 “Hello, world!”程序,则此行将打印Hello, world!
到您的终端。
如果您更熟悉动态语言,例如 Ruby、Python 或 JavaScript,您可能不习惯编译和运行程序,因为 单独的步骤。Rust 是一种预先编译的语言,这意味着您可以 编译一个程序并将可执行文件提供给其他人,他们可以运行它 即使没有安装 Rust。如果您为某人提供 .rb、.py 或 .js 文件,他们需要具有 Ruby、Python 或 JavaScript 实现 安装(分别)。但是在这些语言中,您只需要一个命令来 编译并运行您的程序。一切都是语言设计的权衡。
只需使用rustc
对于简单的程序来说很好,但作为您的项目
增长,您将需要管理所有选项并轻松共享您的
法典。接下来,我们将向您介绍 Cargo 工具,它将帮助您编写
真实世界的 Rust 程序。
本文档由官方文档翻译而来,如有差异请以官方英文文档(https://doc.rust-lang.org/)为准