语法糖(Syntactic sugar),也译为糖衣语法
是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。
之所以叫「语法」糖,不只是因为加糖后的代码功能与加糖前保持一致,更重要的是,糖在不改变其所在位置的语法结构的前提下,实现了运行时的等价。可以简单理解为,加糖后的代码编译后跟加糖前一毛一样。
之所以叫语法「糖」,是因为加糖后的代码写起来很爽,包括但不限于:代码更简洁流畅,代码更语义自然...写着爽,看着爽,就像吃了糖。效率高,错误少,老公回家早...
据说还有一种叫做「语法盐」的东西,主要目的是通过反人类的语法,让你更痛苦的写代码。其实它同样能达到避免代码书写错误的效果,但编程效率应该是降低了,毕竟提高了语法学习门槛,让人咸到忧伤...
最基本的,for循环就是一个语法糖:
1 for(int i = 0; i < 5; i ++){ 2 }
而实际上跟while没啥区别:
int i = 0; while ( i <5 ){ ... i ++; }
Python中也有非常多的语法糖,比如:
i = a if a < b else b
这与下面的代码是同样的效果
if a < b: i = a else i = b