他们似乎是一样的。或者有隐藏的差异吗?
import Foundation
var a: Array<Float> = Array<Float>()
var b: [Float]
a.append(1.22)
a.append(3.44)
b = a
编译并运行时没有任何警告或错误。
答案 0 :(得分:4)
语法[Float]
只是Array<Float>
的简短版本,所以它是相同的但在你的代码中的行:
var a: Array<Float> = Array<Float>()
也初始化数组以清空一个(等同于[Float]()
)但行
var b: [Float]
将b声明为浮点数组而不进行初始化。
答案 1 :(得分:2)
是[Type]
是Array<Type>
的语法糖。同样,词典[Key:Value]
为Dictionary<Key, Value>
。
因此,您可以在任何需要[Float]
的地方使用Array<Float>
,包括变量/属性声明和实例化。
在Swift中广泛使用了句法糖。最常用的案例之一是?
修饰符,它使类型成为可选:
var string: String?
事实上,这实际上是一个枚举:
var string: Optional<String>