1. Hello, World!
任务说明
本案例的目标是创建并运行你的第一个 Rust 程序。你将使用 Cargo(Rust 的构建工具和包管理器)初始化一个新项目,编写一个输出 Hello, World! 的程序,并通过 Cargo 运行它。完成本案例后,你将熟悉 Rust 项目的基本目录结构以及 cargo new 和 cargo run 这两个最常用的命令。
前置条件
开始之前,请确认你的计算机上已经安装了 Rust 工具链(包括 rustc 和 cargo)。在终端中执行以下命令验证安装:
cargo --version
如果命令输出了类似 cargo 1.x.x 的版本号,说明环境已就绪。若提示找不到命令,请先前往 rustup.rs 安装 Rust。
实现步骤
整个任务在终端中完成,共分为三步:创建项目、编写代码、运行程序。
1. 创建新项目
打开终端,进入你希望存放代码的目录(例如 projects),然后执行:
cargo new hello_world
该命令会创建一个名为 hello_world 的新目录。Cargo 会自动在其中生成以下文件:
Cargo.toml:项目的配置文件,记录依赖和元数据。src/main.rs:源代码文件,Cargo 默认生成的入口文件。.gitignore:Git 版本控制的忽略规则(若在 Git 仓库内创建则自动生成)。
2. 编写程序代码
进入项目目录并打开 src/main.rs:
cd hello_world
将文件内容替换为以下代码:
fn main() {
println!("Hello, World!");
}
这段代码定义了一个 main 函数,它是 Rust 程序的入口点。函数体内的 println! 是一个宏,负责将文本输出到控制台并在末尾自动换行。
3. 编译并运行
在项目根目录(即包含 Cargo.toml 的目录)执行:
cargo run
Cargo 会先编译项目,然后运行生成的可执行文件。首次运行会多花一些时间,因为 Cargo 需要构建依赖(本例无外部依赖,因此很快)。
验证与判定标准
执行 cargo run 后,观察终端输出。满足以下条件即判定本案例通过:
- 终端显示了编译过程信息(如
Compiling hello_world v0.1.0),且没有报错。 - 在编译信息之后,单独一行输出了
Hello, World!。 - 项目目录中出现了
Cargo.lock文件(由 Cargo 自动生成,用于锁定依赖版本)以及target目录(存放编译产物)。
预期输出如下(具体编译行可能因 Cargo 版本略有差异):
Compiling hello_world v0.1.0 (/path/to/hello_world)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.5s
Running `target/debug/hello_world`
Hello, World!
注意:以上输出中的编译耗时是示例值,实际耗时取决于你的机器性能。你只需确认最后一行输出了 Hello, World! 即可。
项目结构说明
完成上述步骤后,你的项目目录结构应如下所示:
hello_world/
├── Cargo.toml
├── Cargo.lock
├── src/
│ └── main.rs
└── target/ # 编译输出目录(自动生成)
└── debug/
└── hello_world # 可执行文件
其中 Cargo.toml 是项目的核心配置文件,默认内容类似:
[package]
name = "hello_world"
version = "0.1.0"
edition = "2021"
[dependencies]
edition = "2021" 指定了 Rust 语言版本,[dependencies] 部分目前为空,表示没有外部依赖。
常见问题排查
- 提示
command not found: cargo:说明 Rust 未安装或未加入 PATH。请重新运行rustup-init并重启终端。 - 编译报错
error: expected `;`:检查main.rs中println!行末尾是否缺少分号。 - 运行后无输出:确认当前终端目录是
hello_world根目录(包含Cargo.toml),而不是src子目录。
至此,你已经成功创建并运行了第一个 Rust 程序,掌握了 Cargo 项目的基本工作流程。