O-C相关-08-动态类型与静态类型
08-动态类型与静态类型
1, 什么是动态类型和静态类型
1) 动态语言
又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。
而其实我们平时说的“动态语言”应该指的是“动态类型语言”。至少我之前一直是这么认为的。
2) 动态类型语言
在运行时确定类型的语言。
即编译时与类型无关。一般在变量使用之前不需要声明变量类型,而变量的类型通常是由被赋的值的类型决定。 如php、Python和Ruby。
3) 静态类性语言
与动态类型语言正好相反,在编译时,便需要确定类型的语言。即写程序时需要明确声明变量类型。如C/C++、Java、C#等。
对于动态语言与静态语言的区分,套用一句流行的话就是:Statictyping when possible, dynamic typing when needed。
4) 强类型语言
强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
强类型定义语言是类型安全的语言。
5) 弱类型定义语言
数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
版权声明:本文为博主原创文章,未经博主允许不得转载。
转载于:https://www.cnblogs.com/wahy/p/4817237.html
O-C相关-08-动态类型与静态类型相关推荐
- C++动态类型与静态类型
静态类型 编译时的类型,运行前就确定了,是变量声明时的类型或表达式生成的类型 动态类型 运行时才确定的类型,是变量或表达式表示的内存中的对象的类型 Quote* p = new b_Quote; // ...
- 动态语言,静态类型,强类型定义语言,弱类型定义语言,
1 动态语言和静态语言 通常我们所说的动态语言.静态语言是指动态类型语言和静态类型语言. 1 动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时 ...
- java 强类型 弱类型_强类型,弱类型,静态类型,动态类型的区别
强.弱类型 强类型strongly typed: 如果一种语言的所有程序都是well behaved--即不可能出现forbidden behaviors,则该语言为strongly typed. 弱 ...
- 编程语言分类 -- 强类型与弱类型、动态类型与静态类型
文章内容输出来源:拉勾教育 大前端高薪训练营 前言 在拉勾教育大前端高薪训练营学习的过程中,了解到编程语言除了以前常说的高级语言与低级语言之分,还可以根据类型安全分为强类型语言与弱类型语言,也可以根据 ...
- 计算机语言的分类:编译型/解释型、动态类型/静态类型、强类型/弱类型
参考: 计算机语言:编译型/解释型.动态语言/静态语言.强类型语言/弱类型语言 编译型语言.解释型语言.静态类型语言.动态类型语言概念与区别 编程语言傻傻分不清:弱类型.强类型.动态类型.静态类型 1 ...
- 什么是动态语言和静态语言?静态语言动态语言的区别
定义 通常我们所说的动态语言.静态语言指 动态类型语言(Dynamically Typed Language)和 静态类型语言Statically Typed Language). 还有一个 Dyn ...
- 什么是动态语言和静态语言?
什么是动态语言和静态语言? 定义 通常我们所说的动态语言.静态语言指 动态类型语言(Dynamically Typed Language)和 静态类型语言Statically Typed Langua ...
- Ruby 3 有望引入静态类型
开发四年只会写业务代码,分布式高并发都不会还做程序员? >>> 在昨日举办的 RubyKaigi 2019 大会上,知名 Ruby 开发者 Paul Tarjan 发表了名为&q ...
- python mypy类型检查_Python 类型检查指南
Python 作为一种动态语言,在 PEP484(3.5) 才支持 Type Hints,且类型申明是 optional 的,对于从静态语言(比如:Java,国内大学专业cs or se的教学语言也是 ...
最新文章
- Linux学习 Unit 12
- 改善C#程序的建议5:引用类型赋值为null与加速垃圾回收
- xs_run加密还原
- C++Postfix Expression 后缀表达式的评估算法(附完整源码)
- Ribbon-负载均衡原理
- android圆形头像 demo,Android图像处理之绘制圆形头像
- 如何使用router-link对象方式传递参数?
- python时间复杂度和空间复杂度是指_时间复杂度和空间复杂度
- C++构造函数的各种用法全面解析(C++初学面向对象编程)
- 漫谈云计算与OpenStack的前世今生
- NLPCC 2021 Final Call For Papers
- 微信小程序中媒体api总结
- Android性能专项测试之Systrace工具
- 全图范围设置(转自Esri中国社区)
- 问题解决: Google企业邮箱收不到Postfix发的邮件
- python实现21根火柴游戏
- 控件库中的Botton控件简述
- android 上层设置 自动调节亮度
- 递归展示树状图/树状表格
- 【练习题】第二章--变量,表达式,语句(Think Python)