语法糖

维基百科,自由的百科全书
跳转至: 导航搜索

语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·約翰·蘭達(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。

語法糖的例子[编辑]

for 循环[编辑]

一个例子是C語言中的for 循环:

for (i = 0; i < 10; i++)
{
  //P
}

其效果和以下的while 循环是一樣的,其中 P 是循环要處理的主體。

i = 0;
while (i < 10)
{
  //P
  i++;
}

中置表示法[编辑]

Haskell 雖然是函數程式語言,但它提供了 a + b 這種「中置表示法」的語法,讓程式更容易撰寫,也比較容易閱讀。

Lua[编辑]

Lua中,一个变量的赋值方法如下:

foo = "bar"

而一个函数,作为基本类型之一,语法与定义变量的方法基本一致:

foo = function()
    print "bar"
end

但是此种写法对于有其他编程语言背景的人来说不够直观,故 Lua 提供了如下的语法糖:

function foo()
    print "bar"
end

它与上述方法效果完全一样,但是更加紧凑和易于理解。

参见[编辑]

  • 语法盐:和语法糖相反,有意使书写代码更加困难以避免人为疏失产生错误的语法
  • 语法糖精:设计失败的语法糖