语言影响

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,以及值类型和引用类型的一般赋值和复制语义。