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>
他们似乎是一样的。或者有什么隐藏的区别?
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>