强弱类型语言:
强类型:类型是定义好的,无法改变它的类型了,但是向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))。
- 关键是:在运行期间(动态)去做数据类型判断还是在编译期间(静态)检查。
网友评论