⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Rust宏编程入门

学习声明式宏和过程宏的基础概念与编写方法 · 难度:入门 · +15XP

宏是什么

宏(Macro)是Rust中强大的元编程工具。它允许你在编译时生成代码,减少重复。主要分为声明式宏过程宏两类。

声明式宏(macro_rules!)

macro_rules! say_hello {
    () => {
        println!("Hello!");
    };
    ($name:expr) => {
        println!("Hello, {}!", $name);
    };
}

fn main() { say_hello!(); say_hello!("Rust"); }

常用元变量类型

类型说明
expr表达式
ident标识符
ty类型
block代码块

重复模式

macro_rules! vec_of {
    ( $( $x:expr ),* ) => {
        {
            let mut v = Vec::new();
            $( v.push($x); )*
            v
        }
    };
}

fn main() { let v = vec_of!(1, 2, 3, 4); println!("{:?}", v); }

练习提示:编写一个宏,接受多个表达式并返回它们的和。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 122 篇
0 完成
🔥 0