为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么要说swift是强类型语言?

请问为什么要说swift是强类型语言?

慕哥9229398 2019-09-20 15:15:24
为什么说swift是强类型语言
查看完整描述

4 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

是静态语言,但是可以嵌入动态内容。比如

1234let a = 1let b = 2let c = "a + b = \(a + b)"print(c)

上述程序编译是静态的,强类型检查。但是执行 c 字符串时,内容进行了动态解释,打印结果实际上先在\()符号内评估表达式,再填写内容,所以得到的结果是 a + b = 3

其内部机制是调用Swift REPL,你可以简单理解为Swift语言的动态脚本。

计算机语言发展到今天,已经不那么区分静态语言和动态语言了。Swift作为强类型检查的静态编译语言,可以加载动态链接库、连接到动态模块,也可以通过字符串转义进行动态脚本分析。

相反,如Python这类的动态语言脚本,同样可以用C/C++静态编译的模块进行扩展,并且通过pyc进行中间编译,更不用说java/VB的bitcode,你说这算静态语言还是动态语言呢?我认为静态语言与动态语言的概念已经可以搁置了。



查看完整回答
1 反对 回复 2019-09-22
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

Swift在今年的WWDC上正式公布,它是iOS和OS X系统编程语言Objective-C的继任者。Swift编程语言为开发者提供了全新、简洁和高效的编程方式,让开发应用更简单。
Swift的开发者可以在自己的博客上讲述那些开发幕后的故事。不过目前Swift博客上还没有什么内容,只提到了Swift编程语言的兼容性。
值得一提的是,Swift博客是苹果官方网站的第一个blog,这也代表了苹果对开发者和消费者的态度正变得越来越开放。

查看完整回答
反对 回复 2019-09-22
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

面向对象的角度Swift语言没有封装特性,在变量声明的时候可以不指定具体的数据类型,由编译器自动推断出来它的类型,看起来很像JavaScript,其实Swift的很多特征都类似于JavaScript。

查看完整回答
反对 回复 2019-09-22
  • 4 回答
  • 0 关注
  • 1045 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信