这有什么区别
var a = ClassA()
and this
var a: ClassA = ClassA()
为什么要这样做?
我不是 Swift 开发人员,但我相当确定它在这方面的运行方式与 C# 等语言相同。
在第一种情况下,变量的类型是从用于初始化它的表达式的类型推断出来的。你的a
因此变量的类型ClassA
因此可以引用该类型或派生自该类型的任何对象。在第二种情况下,您指定变量的类型ClassA
明确地而不是允许推断。
在第二种情况下,注释是多余的,因为指定的类型与无论如何都会推断出的类型相同。如果这些类型不同,那么这是值得的,例如
var a: BaseType = DerivedType()
在这种情况下,变量是用一种类型的对象初始化的,但变量被指定为更通用的类型。
如果您声明一个变量而不对其进行初始化,那么您还需要一个注释,因为没有初始化表达式可以从中推断出该变量的类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)