頭條地址:https://www.ixigua.com/i677586170644791348...
B站地址:https://www.bilibili.com/video/av81202308/
github地址:https://github.com/anonymousGiga/learn_rus...
1、Rust中的宏主要有兩種,一種是使用macro_rules!的宣告宏,一種是過程宏。而過程宏又主要分為三種:
(1)自定義宏#[derive],在結構體、列舉等上指定透過derive屬性新增程式碼;
(2)類屬性宏,定義可用於任意項的自定義屬性;
(3)類函式宏,看起來像函式但是作用於作為引數傳遞的Token。
2、宏和函式
(1)宏是一種為寫其它程式碼而寫程式碼的方式。宏對於減少大量編寫程式碼和維護程式碼非常有用。
(2)一個函式標籤必須宣告函式引數個數和型別,宏只接受可變引數。
(3)宏的定義比函式的定義更復雜。
(4)在呼叫宏 之前 必須定義並將其引入作用域,而函式則可以在任何地方定義和呼叫。
本作品採用《CC 協議》,轉載必須註明作者和本文連結