Appearance
宏是编写代码的代码,在编译之前就会展开。
宏可以做函数做不到的事情,比如写 trait 这种必须在编译前就确定下来的东西。
宏虽强大,但不好自己写,也会影响编译速度,排查问题也很难。