Bal*_*raj 34 static type-systems programming-languages dynamic
静态和动态编程语言有什么不同?我知道这完全是关于类型系统的,但我正在寻找更清晰的说明.
sle*_*row 46
静态类型表示在运行程序之前已知类型并检查其是否正确.这通常由语言编译器完成.例如,在运行程序之前,以下Java方法会导致编译错误:
public void foo() {
int x = 5;
boolean b = x;
}
Run Code Online (Sandbox Code Playgroud)
动态类型意味着只有在程序运行时才知道类型.例如,以下Python(3,如果重要)脚本可以运行而没有问题:
def erroneous():
s = 'cat' - 1
print('hi!')
Run Code Online (Sandbox Code Playgroud)
它确实会输出hi!.但如果我们打电话erroneous:
def erroneous():
s = 'cat' - 1
erroneous()
print('hi!')
Run Code Online (Sandbox Code Playgroud)
A TypeError将在调用时 在运行时引发erroneous.
小智 6
静态和动态之间的区别在于,在运行程序之前,如果每个变量的数据类型都经过检查和验证,那么它就是静态类型编程语言(例如:-在 C++ 的情况下,它是由编译器完成的)。在运行时的动态编程语言中,如果存在违反其数据类型的变量的无效赋值,则会为此给出错误。
摘要 - 静态类型语言在运行程序之前检查任何违规,而在动态类型语言中,在程序运行时会给出错误并转到已完成违规的部分。
| 归档时间: |
|
| 查看次数: |
38446 次 |
| 最近记录: |