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

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

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

慕哥9229398 2019-08-03 16:03:08
请问为什么要说swift是强类型语言?
查看完整描述

4 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

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

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,你说这算静态语言还是动态语言呢?我认为静态语言与动态语言的概念已经可以搁置了。




查看完整回答
反对 回复 2019-08-05
?
莫回无

TA贡献1865条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-08-05
?
守着星空守着你

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


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


查看完整回答
反对 回复 2019-08-05
  • 4 回答
  • 0 关注
  • 315 浏览
慕课专栏
更多

添加回答

举报

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