前幾天在B乎上看到一個問題…《java有沒有宏?》
這…我想了半天,這種語法規則問題基本百度就能找到,這…
java作為解釋型語言宏肯定是沒有的…這裡稍微說一下宏這個東西的作用吧。
C/C++等編譯型語言一般為了跨平臺編譯的方便性,肯定會在一些無法跨平臺的代碼中編寫宏,宏會在編譯期展開不會影響程序在執行時的性能。
宏具體會怎麼展開就要看展開的條件了,比如只有類UNIX才能用的宏,或者配合環境變量展開的宏。還有一些能節省代碼的宏。
Rust的宏非常變態,你甚至可以用Rust的宏自定義一門編程語言…
解釋型語言基本上屏蔽了不同平臺之間的細節,而且沒有編譯期,也就不需要宏這種東西了。