Swift:Array<Float>和[Float]一样吗?

Swift: Is Array<Float> the same as [Float]?

他们似乎是一样的。或者有什么隐藏的区别?

import Foundation

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

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

b = a

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

语法 [Float] 只是 Array<Float> 的简短版本,所以它是相同的,但在您的代码中,行:

var a: Array<Float> = Array<Float>()

也将数组初始化为空一个(相当于[Float]())但是行

var b: [Float]

只需将 b 声明为浮点数组,无需初始化。

是的 [Type]Array<Type> 的语法糖。同样,字典有 [Key:Value] for Dictionary<Key, Value>.

所以你可以在任何需要Array<Float>的地方使用[Float],包括variable/property声明和实例化。

语法糖在Swift中被广泛使用。最常用的情况之一是 ? 修饰符,它使类型可选:

var string: String?

事实上,这实际上是一个枚举:

var string: Optional<String>