当前位置:首页 > 娱乐

语法糖 漫话:如何给女朋友解释什么是语法糖?

关注“剧本屋”,和百万开发者呆在一起

句法糖

语法糖,也译作糖衣语法,是英国计算机科学家彼得·j·兰丁发明的一个专业术语。是指添加到计算机语言中的某种语法,对语言的功能没有影响,但更方便程序员使用。

类比就像一些缩写、昵称或“俚语”、“暗语”等。他们都用更简洁的语言表达复杂的意思。

比如我们有些人说“不要大惊小怪,这只是基本操作”,表现出一种低调的骄傲。

当我们描述一个妹子的时候,可以说她“咸但是甜”等等。

通过使用这些暗语和俚语,我们可以起到很多作用,比如更简洁、更自然、更高效、更少出错。

在编程语言中引入语法糖还可以使代码更加简洁,提高代码的可读性,提高编程效率,降低程序出错的概率。

有了暗语和俚语,人们可以更顺畅地交流,有了语法糖,程序员可以更愉快地写代码。是一个道理。

语法糖

就像我们日常说的一些“暗语”、“俚语”,这些都是为了方便人们而发明的,但并不是每个人都能听懂。

在能听懂的人中间用词很方便,但如果有人不懂,就需要解释。

如果你阅读Java虚拟机的源代码,你会发现编译过程中很重要的一个步骤就是调用desugar,它负责语法糖的实现。

通常我们可以通过反编译来学习如何实现语法糖。

Java中的语法糖

Java作为一种高级语言,语法糖很多,从Java 7开始,几个重要版本提供的新特性都和语法糖有关。

渐渐地,Java从低糖语言变成了高糖语言。

例如,switch支持枚举和字符串、泛型、条件编译、断言、变量参数、自动装箱/拆包、枚举、内部类、增强For循环、try-with-resources语句、lambda表达式等等。

还有JDK 10中的局部变量类型推断和JDK 13中的文本块,本质上其实是语法糖。

关于Java中的语法糖,霍利斯写了很多张文深入介绍他们的原理,比如“不知道这12个语法糖,不说你懂Java”,“我反编译了Java 10个局部变量类型推断”等等。

提取一段关于交换机支持字符串的分析过程如下:

Java中的Swith最初支持基本类型。例如int、char等。对于int类型,直接比较值。对于字符类型,比较它们的ascii码。

所以对于编译器来说,switch中只能使用整数,任何类型的比较都必须转换成整数。比如字节。Short、char和int。

看开关对String的支持。有以下代码:

publicclassswitchDemoString {

publicstaticvoidmain {

String str = " world

开关{

case“hello”:

系统。out.println

打破;

案例“世界”:

系统。out.println

打破;

默认:

打破;

}

}

}

反编译的内容如下:

publicclassswitchDemoString

{

publicswitchDemoString

{

}

publicstaticvoidmain

{

String str = " world

字符串s;

switch.hashCode)

{

默认:

打破;

案例99162322:

if)

系统。out.println

打破;

案例113318802:

if)

系统。out.println

打破;

}

}

}

看看边后面的代码,可以发现字符串的切换是通过equals和hashCode方法实现的。

其他语法糖这里就不详细介绍了,有兴趣的可以借鉴H的文章。总之学习思路很相似,就是如何通过反编译解码糖后理解代码或者字节码。

1.《语法糖 漫话:如何给女朋友解释什么是语法糖?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《语法糖 漫话:如何给女朋友解释什么是语法糖?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/764111.html

上一篇

郑宇民个人资料简介 郑宇民人物简历

下一篇

郑守仁个人资料简介 郑守仁人物简历

宾语从句结构 初中英语语法难点之宾语从句(上)

宾语从句结构 初中英语语法难点之宾语从句(上)

理解宾语和宾语从句 对象: 实际动词后的单词是宾语。宾语可以用名词、代词、不定式或相当于名词的单词和短语来充当。 我喜欢我的老师。(名词作宾语) 我喜欢打篮球。(动名词作宾语) 我决定努力学习。(不定式作宾语) 我认识他。(代词作宾语) Object子句: 置于动词...

接头暗语 足浴店藏惊天秘密 报“接头暗号”享特殊服务

接头暗语 足浴店藏惊天秘密 报“接头暗号”享特殊服务

摘要长沙足浴店凭"暗号"享特殊服务,30多名穿着暴露女子供挑选,警方调查遭对抗。视频>> .rv-root-v2{font-family:"5FAE8F6F96C59ED1",san...

毒品交易 双方微信聊天记录用语晦涩难懂,这些是毒品交易暗语吗?

  • 毒品交易 双方微信聊天记录用语晦涩难懂,这些是毒品交易暗语吗?
  • 毒品交易 双方微信聊天记录用语晦涩难懂,这些是毒品交易暗语吗?
  • 毒品交易 双方微信聊天记录用语晦涩难懂,这些是毒品交易暗语吗?
they宾格 英语语法中人称代词的主格和宾格的不同用法

they宾格 英语语法中人称代词的主格和宾格的不同用法

人称代词是指直接指人或事物的代词。根据句子中人称代词的成分,可以分为人称代词主格和人称代词宾格。 人称代词主格在句子中充当主语,通常在句子的开头。 人称代词宾格在句子中充当宾语,通常在谓语动...

八年级英语语法 八年级英语所有语法点都在这里了,你值得拥有!

八年级英语语法 八年级英语所有语法点都在这里了,你值得拥有!

初中语法学习讲究系统性,学好语法是学好英语的必要条件。在未来的英语学习中,忽视语法的重要性注定会处处碰壁。所以,趁着寒假赶紧学!  第一部分形容词/副词的比较级和最高级 1.形容词/副词的比...

贵阳麻将技巧十句口诀 GMAT语法技巧:三短一长选最长?是否真可靠?

贵阳麻将技巧十句口诀 GMAT语法技巧:三短一长选最长?是否真可靠?

相信很多参加过各种英语考试培训班的考生都听过“三短一长选最长”之类的所谓解题公式。事实上,类似的所谓解决问题的技巧和经验公式在GMAT广为流传。相信很多参加过各种英语考试培训班的考生...

扇贝是什么意思 王者荣耀:老玩家才懂的暗语,“扇贝”什么意思?大神

  • 扇贝是什么意思 王者荣耀:老玩家才懂的暗语,“扇贝”什么意思?大神
  • 扇贝是什么意思 王者荣耀:老玩家才懂的暗语,“扇贝”什么意思?大神
  • 扇贝是什么意思 王者荣耀:老玩家才懂的暗语,“扇贝”什么意思?大神

动词不定式做主语 初中英语语法,动词不定式作主语,五个高频考点

  • 动词不定式做主语 初中英语语法,动词不定式作主语,五个高频考点
  • 动词不定式做主语 初中英语语法,动词不定式作主语,五个高频考点
  • 动词不定式做主语 初中英语语法,动词不定式作主语,五个高频考点