语言影响
Solidity 是一种 大括号语言,它受到几种知名编程语言的影响和启发。
Solidity 最深受 C++ 的影响,但也借鉴了 Python、JavaScript 等语言的概念。
C++ 的影响体现在变量声明、for 循环、函数重载、隐式和显式类型转换等语法和概念中,以及其他许多细节。
在语言的早期阶段,Solidity 部分受到 JavaScript 的影响。这是因为变量的函数级作用域和关键字 var
的使用。从 0.4.0 版本开始,JavaScript 的影响减弱了。现在,与 JavaScript 相似的主要剩余点是使用关键字 function
定义函数。Solidity 还支持与 JavaScript 中类似的导入语法和语义。除此之外,Solidity 看起来与大多数其他大括号语言类似,并且不再受 JavaScript 的重大影响。
另一个影响 Solidity 的语言是 Python。Solidity 的修饰符试图以更加受限的功能模拟 Python 的装饰器。此外,多重继承、C3 线性化和 super
关键字来自 Python,以及值类型和引用类型的通用赋值和复制语义。