// 这是一个简单的宏,名为 `say_hello`。
macro_rules! say_hello {
    // `()` 表示此宏不接受任何参数。
    () => (
        // 此宏将会展开成这个代码块里面的内容。
        println!("Hello!");
    )
}

macro_rules! say_hello2 {
    // `()` 表示此宏不接受任何参数。
    ($args:tt) => (
        // 此宏将会展开成这个代码块里面的内容。
        println!("Hello! {}", $args);
    )
}

fn main() {
    // 这个调用将会展开成 `println("Hello");`!
    say_hello!()
    say_hello2!("fd")
    say_hello2!(1)
    say_hello2!(true)
    // err : say_hello2!(1,2,3,4) 参数还是要跟定义一样
}

这里跟普能函数区别就是。他传的参数是可以是你在编辑器上的填的字符。在say_hello2中就相当于编译后。会将"fd"替换掉定义里的$args,是字符替换。不是传参数。这样就很好区分他和函数的区别。

标签: none

已有 37 条评论

  1. 博主真是太厉害了!!!

  2. 想想你的文章写的特别好https://www.jiwenlaw.com/

  3. 不错不错,我喜欢看 https://www.237fa.com/

  4. 不错不错,我喜欢看 www.jiwenlaw.com

  5. 不错不错,我喜欢看 www.jiwenlaw.com

  6. 《控制》动作片高清在线免费观看:https://www.jgz518.com/xingkong/38135.html

  7. 你的文章让我学到了很多知识,非常感谢。 http://www.55baobei.com/98WRjJDfDc.html

  8. 谁拥有那些独特的变态私服传奇版本?:https://501h.com/jingpin/16917.html

  9. 你的文章让我感受到了快乐,每天都要来看一看。 https://www.4006400989.com/qyvideo/88214.html

  10. 你的文章让我学到了很多知识,非常感谢。 http://www.55baobei.com/98WRjJDfDc.html

  11. 你的才华横溢,让人敬佩。 http://www.55baobei.com/ETajW26vKt.html

  12. 你的文章让我感受到了快乐,每天都要来看一看。 https://www.4006400989.com/qyvideo/88214.html

  13. 博主太厉害了!

  14. heisechunjingshui.com

  15. 你的文章让我感受到了艺术的魅力,谢谢! https://www.yonboz.com/video/49841.html

  16. 《张飞审瓜》动画片高清在线免费观看:https://www.jgz518.com/xingkong/135661.html

  17. 《僵尸校园》韩国剧高清在线免费观看:https://www.jgz518.com/xingkong/41215.html

  18. 你的文章让我学到了很多知识,非常感谢。 https://www.yonboz.com/video/96760.html

  19. 哈哈哈,写的太好了https://www.lawjida.com/

  20. 哈哈哈,写的太好了https://www.lawjida.com/

  21. 每个标点都承载着思考的重量。

  22. 水饺皇后

  23. 狮子王国

  24. rap出一片天

  25. 盛大的家庭圣诞节

  26. 芝拉克

  27. 甜蜜夏日

  28. java教程

  29. 美国之旅

  30. a计划

  31. 忘年恋曲

  32. 孤胆追踪者

  33. 最后一根稻草

  34. 阴宅捉迷藏

  35. 自由头发

  36. 美国之旅

  37. 新洗冤录

添加新评论