什么是语法糖(syntactic suger)
语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。
之所以叫「语法」糖,不只是因为加糖后的代码功能与加糖前保持一致,更重要的是,糖在不改变其所在位置的语法结构的前提下,实现了运行时的等价。可以简单理解为,加糖后的代码编译后跟加糖前一毛一样。
之所以叫语法「糖」,是因为加糖后的代码写起来很爽,包括但不限于:代码更简洁流畅,代码更语义自然…写着爽,看着爽,就像吃了糖。效率高,错误少,老公回家早…
据说还有一种叫做「语法盐」的东西,主要目的是通过反人类的语法,让你更痛苦的写代码。其实它同样能达到避免代码书写错误的效果,但编程效率应该是降低了,毕竟提高了语法学习门槛,让人咸到忧伤…
最基本的,for循环就是一个语法糖:
for(int i = 0; i < 5; i ++){}
而实际上跟while没啥区别:
int i = 0;
while ( i <5 ){...i ++;
}
Python中也有非常多的语法糖,比如:
i = a if a < b else b
这与下面的代码是同样的效果
if a < b:i = a
elsei = b
什么是语法糖(syntactic suger)相关推荐
- C# 语法糖(Syntactic sugar)
定义 语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能 ...
- python语法糖是什么_Python语法糖Syntactic Sugar
语法糖(Syntactic sugar): 计算机语言中特殊的某种语法 这种语法对语言的功能并没有影响 对于程序员有更好的易用性 能够增加程序的可读性 简而言之,语法糖就是程序语言中提供[奇技淫巧]的 ...
- 语法糖 Syntactic sugar: 复杂代码的等价简洁替代
语法糖(Syntactic sugar) 在不改变代码所在位置.语法结构的前提下,实现了运行时的等价代码更简洁流畅,代码更语义自然,可读性高 写着爽,看着爽,就像吃了糖,效率高,错误少 例: 最基本的 ...
- Java 中的语法糖 (Syntactic Sugar)
语法糖(Syntactic Sugar),也叫糖衣语法,是英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语.指的是,在计算机语言中添加某种语法,这种语法能使程序员更方便 ...
- syntactic sugar - 语法糖 - 糖衣语法
syntactic sugar - 语法糖 - 糖衣语法 语法糖 (syntactic sugar),亦称为糖衣语法,是英国计算机科学家彼得 - 约翰 - 兰达 (Peter J. Landin) 发 ...
- ef 在此上下文中只支持基本类型或枚举类型_Java 中的 6 颗语法糖
作者:Java 技术栈来源:SegmentFault 思否社区 原文作者:danchu原文链接:https://blog.csdn.net/danchu/article/details/5498644 ...
- java语法糖效率高吗_打包 Java将持续向“高糖”方向发展,你真的了解Java语法糖吗? _好机友...
Java语法糖概念 1. 语法糖Syntactic Sugar 糖衣语法,方便开发人员使用,JVM并不识别,会在编译阶段解语法糖,还原为基础语法. 2. com.sun.tools.javac.mai ...
- 很傻很天真的问题: 什么是语法糖!
一直不太理解语法糖的意思,闲来搜索了下原来如此 语法糖(Syntactic sugar),是由Peter J. Landin(和图灵一样的天才人物,是他最先发现了Lambda演算,由此而创立了函数式编 ...
- C#【汇总篇】语法糖汇总
文章目录 0.语法糖简介 1.自动属性 2.参数默认值和命名参数 3.类型实例化 4.集合 4.1 初始化List集合的值 4.2 取List中的值 5.隐式类型(var) 6.扩展方法[更换测试实例 ...
- JavaScript中的 语法糖 是什么?
专业的解释 在计算机科学中,语法糖(syntactic sugar)是指编程语言中可以更容易的表达一个操作的语法,它可以使程序员更加容易去使用这门语言:操作可以变得更加清晰.方便,或者更加符合程序员的 ...
最新文章
- linux中终端字符界面打印QQ,教你如何在开发驱动时在图形界面下的终端打印字符!!...
- C#学习笔记(十四):StatusBar控件
- 解码base64_linux C++ Base64编解码
- 我喜欢这样的老大[10-24]
- linux的基础知识——网络套接字函数
- 【SQL那些事】事务
- kubernetes挂载存储
- 微信小程序环境下将文件上传到 OSS
- mysql url认证_Springboot+shiro基于url身份认证和授权认证
- webpack-开发服务器-配置
- 1-n奇数之和c语言,c语言1-n奇数之和
- OSChina 周三乱弹 ——怎么样防止隔壁老王
- win10锁屏壁纸的提取方法
- 搜狐Q3由盈转亏:预计全年收入下滑12%,张朝阳归因于不确定性
- 2020年软文对于一个企业网站的重要性
- python写公众号_python如何编写公众号
- 数据库设计需要注意什么?
- OSINT和被动侦察
- 学习笔记:光电耦合器PC817
- 导弹发射各项参数计算涉及计算机应用,按计算机用途分类
热门文章
- 新兴基金经理凯瑟琳·伍德ARKK基金在 2022 年初遭受新的打击
- 计算机键盘按键错乱,笔记本键盘按键错乱怎么办 解决笔记本电脑个别按键功能错乱...
- NOIP 模拟题 国际跳棋
- 启明云端分享|IDO-SOM3022-V1.0:可适用于物联网等多个领域
- android logo颜色渐变,华为悄然更新品牌Logo:无渐变色,更加扁平化
- 泛微OA系统排名?泛微OA办公系统怎么选?什么是用户口碑最好的泛微OA系统?
- 披萨门 pizzagate
- 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(5)- 语音识别实现(SpeechRecognition, PocketSphinx0.1.15)
- js计算文件MD5值
- 魔兽世界服务器同时在线人数,魔兽世界服务器人数,魔兽世界服务器人数查询...