gpt4 book ai didi

ios - 告诉 Swift 编译器一个对象的类型而不是推断的优势?

转载 作者:IT王子 更新时间:2023-10-29 05:49:04 26 4
gpt4 key购买 nike

我已经做了几个月的 Swift 编程,我一直对此很好奇......

在声明中告诉 Swift 编译器对象的类型是否有优势?即let image: UIImage = UIImage()

与不告诉编译器并让它在运行时推断类型相比。即 let image = UIImage()

我认为告诉编译器对象类型比让它推断类型更有效。我知道这个问题也适用于 Objective-C 语法,所以我将把它添加到标签中。

最佳答案

两者之间的运行时效率差异为零。在编译期间,Swift 会推断类型并将其写入。但是一旦编译,这两个语句是相同的。

这纯粹是一个可读性问题,有时还有编译器效率问题。

可读性,因为在声明let image: UIImage = UIImage() , UIImage 的双重出现只是困惑。在更复杂的类型的情况下,它非常重要——没有人愿意写 let keys: LazyForwardCollection<MapCollectionView<Dictionary<String, Int>, String>> = dict.keys他们什么时候可以写let keys = dict.keys .

编译器效率,因为偶尔你会发现一个特别模棱两可的类型(文字的文字为此而臭名昭著),如果你明确命名在左侧键入。但这只是编译多快的问题,而不是编译后运行多快的问题。

关于ios - 告诉 Swift 编译器一个对象的类型而不是推断的优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30624600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com