大部分语言都用尖括号<>表示泛型,为什么golang要标新立异用中括号?_黑龙江省齐齐哈尔市梅里斯达斡尔族区倡顿内损照明与灯具有限责任公司

大部分语言都用尖括号<>表示泛型,为什么golang要标新立异用中括号?

后台-模块-广告管理-内容头部广告位
后台-模块-广告管理-内容头部广告位

真正沉下心来写过编译器的就知道,golang这样搞确实是有利于编译器开发。

因为中括号原本就是成对出现的,而尖括号会与大于号和小于号场景混淆。

而要识别这个混淆场景,就需要词法分析器去感知语法分析或者语义分析的上下文。

比如,词法分析器可以和语法分析器共享一个状态,当当前状态处于类型定义阶段(语法或者语义处理才能识别这个状态)时,词法分析器就可以断定应该是尖括号,否则就要优先按大于号和小于号处理。

这个原理…。

大部分语言都用尖括号<>表示泛型,为什么golang要标新立异用中括号?

粤IP*******|网站地图
本文地址:
粤IP*******|网站地图本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
后台-模块-广告管理-内容底部广告位
后台-模块-广告管理-内容底部广告位