語法糖(Syntactic sugar)惨远,也譯為糖衣語法,是由英國計算機科學家彼得·約翰·蘭達(Peter J. Landin)發(fā)明的一個術語煤杀,指計算機語言中添加的某種語法垦垂,這種語法對語言的功能并沒有影響,但是更方便程序員使用带饱。通常來說使用語法糖能夠增加程序的可讀性毡代,從而減少程序代碼出錯的機會。
之所以叫「語法」糖勺疼,不只是因為加糖后的代碼功能與加糖前保持一致教寂,更重要的是,糖在不改變其所在位置的語法結構的前提下执庐,實現(xiàn)了運行時的等價酪耕。可以簡單理解為,加糖后的代碼編譯后跟加糖前一毛一樣轨淌。
之所以叫語法「糖」迂烁,是因為加糖后的代碼寫起來很爽,包括但不限于:代碼更簡潔流暢猿诸,代碼更語義自然...寫著爽婚被,看著爽狡忙,就像吃了糖梳虽。效率高,錯誤少灾茁,老公回家早...
據(jù)說還有一種叫做「語法鹽」的東西窜觉,主要目的是通過反人類的語法谷炸,讓你更痛苦的寫代碼。其實它同樣能達到避免代碼書寫錯誤的效果禀挫,但編程效率應該是降低了旬陡,畢竟提高了語法學習門檻,讓人咸到憂傷...
最基本的语婴,for循環(huán)就是一個語法糖:
for(int i = 0; i < 5; i ++){
}
而實際上跟while沒啥區(qū)別:
int i = 0;
while ( i <5 ){
...
i ++;
}
Python中也有非常多的語法糖描孟,比如:
i = a if a < b else b
這與下面的代碼是同樣的效果
if a < b:
i = a
else
i = b