带类型的 var 声明与不带类型的 var 声明

2024-01-03

这有什么区别

var a = ClassA()

and this

var a: ClassA = ClassA()

为什么要这样做?


我不是 Swift 开发人员,但我相当确定它在这方面的运行方式与 C# 等语言相同。

在第一种情况下,变量的类型是从用于初始化它的表达式的类型推断出来的。你的a因此变量的类型ClassA因此可以引用该类型或派生自该类型的任何对象。在第二种情况下,您指定变量的类型ClassA明确地而不是允许推断。

在第二种情况下,注释是多余的,因为指定的类型与无论如何都会推断出的类型相同。如果这些类型不同,那么这是值得的,例如

var a: BaseType = DerivedType()

在这种情况下,变量是用一种类型的对象初始化的,但变量被指定为更通用的类型。

如果您声明一个变量而不对其进行初始化,那么您还需要一个注释,因为没有初始化表达式可以从中推断出该变量的类型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带类型的 var 声明与不带类型的 var 声明 的相关文章

随机推荐