以下哪项陈述是错误的?
(A)在静态类型语言中,程序中的每个变量都有固定类型
(B)在非类型语言中,值没有任何类型
(C)在动态类型语言中,变量没有类型
(D)在所有静态类型语言中,程序中的每个变量在程序执行期间只与单个类型的值相关联
你能解释一下这个理论吗?
答案 0 :(得分:1)
C)(在动态类型语言中,变量没有类型)是假的。
变量有一个类型,但是直到运行时才会声明或决定它。这意味着在运行程序之前没有类型检查。
描述类型及其含义的有用链接:
http://en.wikipedia.org/wiki/Type_system
如果您曾经使用过PHP,您会注意到当您声明变量时,您不必说它是INT还是STRING。但是,有时您知道您将接收一个字符串,但需要一个int,因此您仍然可以在运行时键入强制转换变量,即使您声明该变量时未明确声明变量将保留一个int。
<?php
#some more code here.....
# over here $myValue could be of some different type, but it can dynamically change to another type
$myValue = '5'; #storing a string...so $myValue is currently of type String
$myNewValue = (int)$myValue + 5 #type casted to integer, so in this case $myValue is currently of type integer
?>
如果这没有用,可以看看这个。
myPythonVariable = "I am currently a string" #the variable is of type string
myPythonVariable = 5 #the variable is now of type integer
在上面的代码示例中,myPythonVariable总是有一个类型,无论该类型更改是否无关紧要。