C1 概述
https://doc.rust-lang.org/book/
基于 Rust 1.81.0(2024-09-04)阅读整理.
简介
Rust 的特点:
- 编译器为代码"把关", 同时提供包管理器和构建系统
Cargo
, 代码格式化工具Rustfmt
, 代码分析器rust-analyzer
或clippy
. - Rust 坚持"零开销抽象"原则, 运行速 度可以得到最大保证.
第一章主要内容
- 安装 Rust 略.
- 编写 Hello World 程序
- 使用 cargo 命令进行包管理和构建.
开始开发
使用 cargo new
命令可以创建 exec 或 lib, 使用 cargo build
编译, 使用 cargo run
运行.
此外, 如果在事先创建的目录中初始化一个 Cargo.toml
文件, 可以使用 cargo init
命令.
Rust 程序总是从 main 函数开始执行, 典型的 main 函数如下所示:
fn main() {
println!("Hello World");
}
其中 println!
为 Rust 宏.
Cargo 简介
Cargo 是 Rust 的包管理器和构建系统, 用于程序的最终构建, 下载依赖, 编译依赖.
Rust 程序的各项配置通过 Cargo.toml
配置文件进行, 典型的 Cargo.toml
文件内容如下所示:
[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
其中 [package]
表示 package section 头, 下面跟随的内容是包的整体配置, 上述配置三行分别表示 包名
, 包版本号
, Rust 版本
.
[dependencies]
是依赖列表 section 头, 下方可以配置所有的依赖. Rust 中代码的集合称为 crate
, 依赖列表也即依赖的 crate 列表.
Cargo 默认当前 crate 的代码都在和 Cargo.toml
同级的 src
目录中(workspace 除外).
Cargo 还提供了一个 命令 cargo check
, 用于透过编译器检查代码中包含的可能错误, 它的速度比 cargo build
快得多, 且给出的错误信息和 cargo build
过程中提供的一致.
执行 cargo build
时, Cargo 会将产物放到工程根目录下的 target/编译配置名(如 debug)
目录中(若希望编译 release 配置产物, 可使用 cargo build --release
进行).
C1 完结, C2 待续.