Rust 的Hello World
文章目录
- 你好,世界!
- 创建项目目录
- 编写并运行Rust程序
- 1. 创建源文件
- 2. 编写代码
- 3. 编译运行
- 程序结构解析
- main函数
- 打印语句
- 编译与运行的分离
- 1. 编译阶段
- 2. 查看编译结果
- 3. 运行阶段
- 下一步:Cargo工具
你好,世界!
之前介绍了Rust的安装,那么,我们编写第一个Rust程序。遵循编程语言学习的传统,我们将编写一个在屏幕上打印"Hello, world!"的小程序!
注意:Rust不限制您使用的编辑器或代码存放位置,如果您更喜欢使用集成开发环境(IDE)而非命令行,请自由选择您熟悉的IDE。许多现代IDE已提供Rust支持(详见各IDE文档)。以本文为例,我是在VS Code上编辑代码。
创建项目目录
首先创建存放Rust代码的目录。
打开终端执行以下命令(不同系统有差异):
Linux/macOS/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程序
1. 创建源文件
新建名为main.rs
的文件(Rust文件扩展名始终为.rs
,多单词文件名建议用下划线分隔,如hello_world.rs
)
2. 编写代码
将以下代码写入main.rs:
// 文件名: main.rsfn main() {println!("Hello, world!");}
3. 编译运行
返回终端执行(注意不同系统的执行命令差异):
Linux/macOS:
rustc main.rs # 编译
./main # 运行
Windows:
rustc main.rs
.\main.exe
成功运行将输出:
Hello, world!
若未看到输出,请参考官网安装章节的"故障排除"部分。
编译生成的目录如下图:
程序结构解析
main函数
fn main() {// 函数体
}
- main函数是每个可执行Rust程序的入口
- 无参数时保留空括号()
- 函数体必须用{}包裹(Rust代码风格建议左花括号与函数声明同行,间隔一个空格)
提示:使用rustfmt工具(随Rust安装)可自动格式化代码为标准样式(详见官网文档附录D)
打印语句
println!("Hello, world!");
- println!是Rust宏(!标识宏调用,与普通函数区分)
- 字符串参数"Hello, world!"被输出到屏幕
- 分号;表示语句结束(大多数Rust代码行以分号结尾)
编译与运行的分离
Rust采用预编译机制:
1. 编译阶段
使用rustc编译器生成二进制文件:
rustc main.rs
- 生成可执行文件(Linux/macOS: main,Windows: main.exe)
- 类似C/C++的gcc/clang编译流程
2. 查看编译结果
Linux/macOS/PowerShell:
ls # 输出 main main.rs
Windows CMD:
dir /B # 输出 main.exe main.pdb main.rs
.pdb
文件包含Windows调试信息
3. 运行阶段
直接执行二进制文件,无需Rust环境:
./main # 类Unix系统.\main.exe # Windows系统
与Ruby/Python/JavaScript等脚本语言的差异:
- 动态语言需要运行时环境
- Rust编译后生成独立可执行文件
- 编译步骤增加了开发环节,但提升了部署便利性
下一步:Cargo工具
虽然rustc适合简单程序,但在实际开发中推荐使用Cargo(Rust官方构建工具):
- 依赖管理
- 项目配置
- 跨平台构建
- 代码共享