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

2025-06-20 04:30:09

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

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

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

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

这个原理…。

大部分语言都用尖括号<>表示泛型,为什么golang要标新立异用中括号?
广告位810*200
相关阅读
美国打击伊朗 3 处核设施,美国为什么此时介入?中东局势会升级吗?

美国打击伊朗 3 处核设施,美国为什么此时介入?中东局势会升级吗?

最终,美军还是参与了进来。 美国在袭击伊朗福尔道核设施时使...

2025-06-22
JetBrains 放弃 AppCode 是否是一个错误决定?

JetBrains 放弃 AppCode 是否是一个错误决定?

不算错误。 没人会用AppCode写objc和swift的...

2025-06-22
帝王蟹极度泛滥,严重影响生态平衡,但是为什么还那么贵?

帝王蟹极度泛滥,严重影响生态平衡,但是为什么还那么贵?

据说这玩意正在攻打南极!每吃一只就是在保护地球妈妈! 泛滥的...

2025-06-22
家庭网络,是否有必要做多个网段并隔离?

家庭网络,是否有必要做多个网段并隔离?

我其实不太明白为什么要搞隔离 1、你家经常有人来吗 2、这些...

2025-06-22
为什么感觉wps的用户越来越多,office没人用了?

为什么感觉wps的用户越来越多,office没人用了?

人在美国,讲一个office神奇的地方, 办公室和公司发的电...

2025-06-22