1.5 第一个Rust程序:Hello, World!
学习任何一门编程语言,最经典的第一步就是编写一个“Hello, World!”程序。这不仅是一个仪式,更能帮助你验证开发环境是否配置正确,并初步了解Rust程序的基本结构。
1.5.1 创建项目目录
首先,在命令行中,选择一个你喜欢的目录(例如你的用户主目录或一个专门存放代码的文件夹),然后创建一个新的文件夹用于存放我们的第一个Rust项目。
# 创建名为 hello_world 的文件夹
mkdir hello_world
# 进入该文件夹
cd hello_world
1.5.2 编写Rust源代码
在 hello_world 文件夹中,创建一个新的文件,命名为 main.rs。Rust源文件通常使用 .rs 扩展名。
打开 main.rs 文件,并在其中输入以下代码:
fn main() {
println!("Hello, World!");
}
让我们逐行分析这段代码:
fn main() { ... }:这是Rust程序的入口点。fn关键字用于声明一个函数。main是一个特殊的函数,每一个可执行的Rust程序都从main函数开始执行。()表示这个函数不接收任何参数。函数体被包裹在花括号{ }中。println!("Hello, World!");:这是Rust中的一个宏(macro)。宏以感叹号!结尾,与普通的函数调用有所区别。println!宏的作用是将格式化的文本打印到标准输出(通常是你的终端屏幕),并在末尾自动添加一个换行符。这里,我们打印的字符串是"Hello, World!"。注意,Rust中的语句以分号;结尾。
1.5.3 编译与运行
Rust是一种编译型语言,这意味着我们需要先将源代码编译成可执行的机器码,然后再运行它。
编译:在终端中,确保你当前位于
hello_world目录下,然后运行以下命令:rustc main.rs这个命令会调用Rust编译器
rustc来编译main.rs文件。如果代码没有错误,编译过程会很快完成,并且不会输出任何信息。你会在当前目录下看到新生成的可执行文件(在Windows上是main.exe,在Linux/macOS上是main)。运行:在终端中,运行刚刚生成的可执行文件:
- Windows:
.\main.exe - Linux/macOS:
./main
你应该会在终端中看到如下输出:
Hello, World!- Windows:
恭喜!你已经成功编写并运行了你的第一个Rust程序。
1.5.4 使用Cargo创建项目(推荐)
虽然直接使用 rustc 编译单个文件很方便,但对于更复杂的项目,Rust官方提供了一个强大的构建系统和包管理工具——Cargo。Cargo可以帮助你创建项目、管理依赖、编译代码、运行测试等等。
让我们使用Cargo重新创建“Hello, World!”项目。
创建项目:在命令行中,回到你想放置项目的目录(不要在
hello_world文件夹内部),然后运行:cargo new hello_cargo这个命令会创建一个名为
hello_cargo的新目录,并自动生成一个标准的Rust项目结构。项目结构:进入
hello_cargo目录,你会看到以下内容:hello_cargo/ ├── Cargo.toml └── src/ └── main.rsCargo.toml:这是Cargo的配置文件。它使用TOML格式,记录了项目的名称、版本、作者以及依赖的第三方库等信息。src/main.rs:这是源代码文件。Cargo已经自动为你生成了一个“Hello, World!”程序。
查看源代码:打开
src/main.rs,你会看到与之前完全相同的代码:fn main() { println!("Hello, World!"); }构建并运行:Cargo提供了一个非常方便的命令,可以一步完成编译和运行:
cargo run当你在
hello_cargo项目根目录下运行cargo run时,Cargo会:- 检查代码是否有变化。
- 如果需要,则编译代码(首次运行或代码修改后)。
- 运行生成的可执行文件。
输出结果同样是:
Hello, World!
cargo run 比先 rustc 再手动运行要高效得多,尤其是在项目变得复杂时。此外,你还可以使用 cargo build 命令来仅编译代码而不运行它,生成的可执行文件会存放在 target/debug/ 目录下。
1.5.5 小结
通过“Hello, World!”程序,我们学习了:
- 如何创建Rust源文件(
.rs)。 - Rust程序的基本结构,包括
main函数和println!宏。 - 使用
rustc直接编译和运行单个文件。 - 使用Cargo工具创建、构建和运行一个项目。
对于未来所有的Rust项目,强烈建议使用Cargo作为你的项目管理工具。它极大地简化了开发流程,让你可以专注于编写代码本身。
