Swift:Array <float>与[Float]相同吗?

时间:2015-08-12 12:57:28

标签: swift swift2

他们似乎是一样的。或者有隐藏的差异吗?

import Foundation

var a: Array<Float> = Array<Float>()
var b: [Float]

a.append(1.22)
a.append(3.44)

b = a

编译并运行时没有任何警告或错误。

2 个答案:

答案 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>