Rust 语言学习手册

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

Rust学习手册《过程宏(proc-macro)》:过程宏是更强大的宏,可操作抽象语法树(AST),分为三种: 1. **derive 宏**:为结构体/枚举自动实现 trait。 2. **attribute 宏**:自定义属性。 3. **function-like 宏**:类似函数调用...

过程宏(proc-macro)

【详细说明 & 代码示例】
过程宏是更强大的宏,可操作抽象语法树(AST),分为三种: 1. **derive 宏**:为结构体/枚举自动实现 trait。 2. **attribute 宏**:自定义属性。 3. **function-like 宏**:类似函数调用。 **创建 derive 宏示例(使用 `syn` 和 `quote`):** ```rust use proc_macro::TokenStream; use quote::quote; use syn; #[proc_macro_derive(HelloMacro)] pub fn hello_macro_derive(input: TokenStream) -> TokenStream { let ast = syn::parse(input).unwrap(); impl_hello_macro(&ast) } fn impl_hello_macro(ast: &syn::DeriveInput) -> TokenStream { let name = &ast.ident; let gen = quote! { impl HelloMacro for #name { fn hello_macro() { println!("Hello, Macro! My name is {}", stringify!(#name)); } } }; gen.into() } ``` **使用:** `#[derive(HelloMacro)]`。 **应用场景:** 序列化(serde)、构建器模式、错误处理(thiserror)等。

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

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

Rust 基础 (1个知识点)

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

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

生命周期 (1个知识点)

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

使用说明

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