语言的分类(静动态/强弱类型/显隐式)


强弱类型语言:

强类型:类型是定义好的,无法改变它的类型了,但是向C语言,虽然定义了一个short,还是可以当成char来用的,因为可以直接操作内存。

弱类型:类型之间可以自由转换

弱类型语言,类型检查更不严格,如偏向于容忍隐式类型转换。譬如说C语言的int可以变成double。 这样的结果是:容易产生forbidden behaviours,所以C是弱类型的。


显式隐式

在语法层面明确数据类型与否,隐式的比如C++ 的 auto 关键字,JS/Go的var,还有python。


动态静态类型语言:

静态类型:编译时就确定数据类型,java/C/C++/golang

动态类型:运行时确定数据类型 python/PHP

不知道类型,光看变量名是不知道数据到底是int还是char类型,后期换个人维护的时候成本过高(int(111)和char(111)加一起等于char(111111)而不是int(222))。

  • 关键是:在运行期间(动态)去做数据类型判断还是在编译期间(静态)检查。

发表评论

您的电子邮箱地址不会被公开。