我们只做一件事,只为您满意--山东微道商网络技术有限公司

定位首页 - 资讯中心 > 网站制作

资讯中心

news

媒体联络

山东微道商网络技术有限公司

热线热线:0531-88193332

电话电话:15508684333

动态/静态语言/强类型/弱类型语言分别是什么意思?

来源:https://www.chinanovo.net   发布时间:2021-08-18 16:33:51      
学习过编程语言的都知道,语言在我们日常的工作中分为:“静态语言”“动态语言”“强类型语言”和“弱类型语言”这些概念,静态语言与动态语言是咱们比较常见的,也是大家经常放在起提及的,好似他们是同维度的出现的,但是其他的语言我们不是很懂,这个时候小编为大家精心查阅了很多的整理,来解开大家的迷惑:
1) 静态类型语言
静态类型指的是在创建份数据(变量、参数、返回值等)时需要显式指明该数据的类型。通常情况下,这些数据的类型旦被定义,在程序的整个生命周期也不再改变。
2) 动态类型语言
动态类型的编程语言在创建数据时往往不需要指明该数据的类型,而且数据的类型也会随着值的改变而改变,给数据赋予不同的值,数据将得到不同的类型。
对于静态类型语言,我们需要预明确地告诉编译器要处理的数据的类型,这样在程序部署之前就能发现代码中的错误或者疏忽。比如我们将个变量定义为整数,将另个变量定义为字符串,如果我们尝试将两个变量相加,那么编译器在编译期间可能就会捕获这种语法错误,并且不会让我们完成程序的构建。
济南网站制作
3)强类型语言
强类型语言的典型特征,它们不会处理与类型定义明显矛盾的运算,而是把它标记为个问题,并作为错误抛出。通常人们认为 C/C++、Java、C#、Python、Go 都是强类型语言,它们都不允许上述代码中的行为。
4)弱类型语言
和强类型语言不样,当我们执行些与类型定义不匹配的运算时,弱类型语言尝试提供帮助,它可能会临时转换值的类型,让它当前运算。
正如前面提到的,人们经常混淆静态/动态类型和强/弱类型的概念,倾向于将静态类型等同于强类型,将动态类型等同于弱类型,实际上这是不对的。
强/弱类型指的是编程语言如何处理运算过程中的值。当值的类型不运算规则时,编程语言究竟是做出些猜测,临时转换值的类型以帮助人们解决问题,还是停止运行,提醒人们不应该这样做?