Rust 语言学习手册

免费学习 系统级编程 内存安全

Rust学习手册《声明宏(macro_rules!)》:声明宏允许自定义语法扩展,类似于代码生成。 **定义宏:** ```rust macro_rules! vec { ( $( $x:expr ),* ) => { { let mut tem...

声明宏(macro_rules!)

【详细说明 & 代码示例】
声明宏允许自定义语法扩展,类似于代码生成。 **定义宏:** ```rust macro_rules! vec { ( $( $x:expr ),* ) => { { let mut temp_vec = Vec::new(); $( temp_vec.push($x); )* temp_vec } }; } ``` **匹配模式:** 支持重复、可选、OR 等。 - `$(...),*` 0 次或多次,逗号分隔 - `$(...),+` 1 次或多次 - `$(...)?` 可选 **示例:** 自定义 `assert_eq` 风格。 ```rust macro_rules! assert_equal { ($left:expr, $right:expr) => { if $left != $right { panic!("left: {:?}, right: {:?}", $left, $right); } }; } ``` **宏导出:** `#[macro_export]` 使宏在 crate 外可用。 **注意:** 声明宏无法处理复杂语法,对于复杂场景使用过程宏(proc-macro)。 **常用内置宏:** `println!`, `vec!`, `format!`, `concat!`, `stringify!`, `env!` 等。

学习提示:建议安装 Rust 工具链(rustup),使用 cargo 构建项目,并熟悉 rustc 编译器错误信息(Rust 的报错非常详细友好)。

全部章节目录(共 63 个知识点)

Rust 基础 (1个知识点)

所有权系统 (1个知识点)

借用与引用 (1个知识点)

生命周期 (1个知识点)

Cargo 与工具链 (2个知识点)

使用说明

  • • 本手册涵盖 Rust 从基础到并发、异步、Web 开发的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议通过 Rust 官方文档(doc.rust-lang.org)加深理解