一尘不染

Swift是动态语言还是静态语言?

swift

我只是想知道Swift是像php一样的动态还是静态的,我的意思是我可以在应用程序运行时生成类吗?


阅读 1496

收藏
2020-07-07

共1个答案

一尘不染

它是静态的-非常静态。编译器必须有关于所有类和功能的全部信息 在编译时
。您可以(使用extension)“扩展”现有的类,但是即使那样,您也必须在编译时完全定义该扩展所包含的内容。

Objective-C是动态的,并且在现实生活中,由于您可能会在Cocoa的存在下使用Swift,因此可以使用Objective-
C运行时在暴露给Objective-C的Swift类中注入/转换方法。即使您使用的是Swift语言,也可以执行此操作。但是Swift 本身
是静态的,并且实际上是经过明确设计的,目的是最大程度地减少或消除使用Objective-C型动力。

2020-07-07