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

小幸运Q · · 631 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。


强弱类型语言:

强类型:类型是定义好的,无法改变它的类型了,但是向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))。

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

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:小幸运Q

查看原文:语言的分类(静动态/强弱类型/显隐式)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

631 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传