Types 计算机程序设计中的打字训练
我在维基百科上读到了关于类型系统的内容。计算机编程有三种类型(强、弱和潜在)。但我不太明白。Types 计算机程序设计中的打字训练,types,Types,我在维基百科上读到了关于类型系统的内容。计算机编程有三种类型(强、弱和潜在)。但我不太明白。 总的来说 Java(inta=0),所以Java是强类型,因为它定义了类型(本例中为整数) php($a=0),php是弱类型。因为它没有定义类型 python(a=0),它是强还是弱?但是维基百科说python是强类型。 我想更多地了解打字规则。从根本上讲,所有计算机变量都是位的集合。问题是如何知道位是什么以及它们代表什么 在强类型语言中,当位进入程序时告诉编译器,然后该类型“污染”它们,除非通过特殊
总的来说
Java(inta=0),所以Java是强类型,因为它定义了类型(本例中为整数)
php($a=0),php是弱类型。因为它没有定义类型
python(a=0),它是强还是弱?但是维基百科说python是强类型。
我想更多地了解打字规则。从根本上讲,所有计算机变量都是位的集合。问题是如何知道位是什么以及它们代表什么 在强类型语言中,当位进入程序时告诉编译器,然后该类型“污染”它们,除非通过特殊的转换操作,否则无法将它们分配给另一种类型的变量。此外,在每一点上,您都必须说出您期望的类型 在弱类型语言中,位也会被标记,但它不会“污染”位,而是随位移动——通常是因为变量的底层是矩阵维度、类型字段、结构成员名称字段等等。所以你不必说你想要什么类型的。你可以进行所谓的鸭子式打字。如果变量有一个名为“嘎嘎”的字段,则可以写入“嘎嘎+=1.0”,并且无论出于何种目的,它都是鸭子,即使它被设置为医生 潜在类型语言是由值而不是变量持有类型的语言。S而不是说
int x = 5;
你说
x=5;//x是一个整数类型
x = "five"; // x is a string type
您试图构建的定义不正确。强类型意味着在赋值之前不显式定义变量的类型,但它有一点不同。这意味着我们可以为数据指定一种类型,但不能将其用作另一种类型,因此值的类型不会以意外的方式更改。每次类型的更改都需要显式转换。可能重复@TDG,我不想了解python。我想知道打字的纪律。