我正在阅读有关 Swift 的教程 ( http://www.raywenderlich.com/74438/swift-tutorial-a-quick-start ),它预定义为不显式设置类型,因为这样更易读。
我不太同意这一点,但这不是问题所在。我的问题是:就性能(编译器...)而言,显式设置类型是否更有效?
例如,这个:var hello: Int = 56
是否比这个:var tutorialTeam = 56
最佳答案
使用显式类型的代码和使用类型推断的代码之间在性能上没有差异。每种情况下的编译输出都是相同的。
当您省略类型时,编译器会简单地推断它。
在 accepted answer 中观察到的非常小的差异只是您通常的微观基准测试伪影,不可信任!
是否包含显式类型是个人喜好问题。在某些情况下,它可能会使您的代码更具可读性。
它对您的代码产生影响的唯一一次是当您想要指定一种与编译器推断的类型不同的类型时。例如:
var num = 2
上面的代码推断 num
是一个 Int
,因为它是用整数文字初始化的。但是,您可以“强制”它成为 Double
,如下所示:
var num: Double = 2
关于performance - Swift 显式与推断类型 : Performance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24588893/