Swift语言静态调度还是动态调度? 阅读快速语言指南,我找不到明确的信息,SWIFT是否静态调度(如基本C++,爪哇,C)或动态调度(如Objto-C)。

Swift语言静态调度还是动态调度? 阅读快速语言指南,我找不到明确的信息,SWIFT是否静态调度(如基本C++,爪哇,C)或动态调度(如Objto-C)。,swift,Swift,语言特性(如类、扩展、泛型等)的文档似乎表明它是静态类型的,这可能是假定的速度改进的来源。然而,苹果在WWDC 2014版上指出,语言使用与Objto-C相同的运行时,并且非常适合可可/可可触摸,这表明动态调度。描述C++、java和C静态调度的 < P>并不特别准确。这三种语言都可以而且经常使用动态分派 同样,斯威夫特可以做到这两个方面。它与ObjC的不同之处在于它并不总是动态地分派。标记为@final的方法可以静态调度,struct和enum方法也可以静态调度。我相信,如果运行时类型可以在编


语言特性(如类、扩展、泛型等)的文档似乎表明它是静态类型的,这可能是假定的速度改进的来源。然而,苹果在WWDC 2014版上指出,语言使用与Objto-C相同的运行时,并且非常适合可可/可可触摸,这表明动态调度。描述C++、java和C静态调度的

< P>并不特别准确。这三种语言都可以而且经常使用动态分派


同样,斯威夫特可以做到这两个方面。它与ObjC的不同之处在于它并不总是动态地分派。标记为@final的方法可以静态调度,struct和enum方法也可以静态调度。我相信,如果运行时类型可以在编译时被证明(类似C++ +虚拟化),则非静态方法可以静态调度,但我不能确定其中的细节。 从用户的角度来看,它基本上是直接从铁锈书中取出来的,所有的肉汁都带有放松的所有权和语法

它有所有的功能[1]:静态类型、类型推断、显式易变性、闭包、模式匹配、选项(有自己的语法! 还有“任意”)、泛型、接口、弱所有权、元组以及其他 漂亮的东西,如速记语法,最终和显式覆盖

它尖叫着“摩登!”,拥有所有最新的circlejerk功能。它甚至还配备了一个轻便的桌子/布莱特·维克托风格的游乐场。但是 仍然是一种实用的语言,看起来平易近人且 直截了当


编辑:[1]:嗯,差不多了。我认为我没有发现任何关于生成器、一流并发性和并行性、尾部调用优化等方面的信息。

还缺少多重继承、契约设计和异常。事实上,所有这些都让我喜欢埃菲尔。而模板系统通常是非常原始的类型替换。您不能将常量或方法名作为模板参数提供。您的答案似乎正确,但您能引用一些来源吗?来源:读取生成的程序集输出,与swift编译器工程师交谈