2016-04-27 71 views
-1

我是Swift初学者。我发现声明阵列中迅速如下:Array或Array <Element> in Swift

public struct Array<Element> : CollectionType, MutableCollectionType, _DestructorSafeContainer {} 

然而,延伸的阵列如下:

Extension Array: _Reflectable {} 

为什么标识符是不同?

Array<Element> // what does the <Element> mean? is Array<Element> a complete identifier? 

我想了解“<>”,谢谢!

+0

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Generics.html – jtbandes

+0

http://www.apeth.com/swiftBook/ch04.html#_generics – matt

回答

0

当在swift中声明一个数组时,你可以做Array<Element>其中Element是类型。所以对于你可以做的一系列字符串

var array: Array<String> = ["string", "someOtherString"] 

但是,这并不是一个非常快速的创建数组的方法。快速创建字符串数组的方法是

var swiftyArray: [String] = ["swiftyString", "someOtherSwiftyString"] 

这两种方式都是允许的。

print(array[0]) // prints: string 
print(swiftyArray[1]) // prints: someOtherSwiftyString 
+0

其实Swifty的方式更简洁,依赖于类型推理; 'var array = [“swiftyString”,“someOtherSwiftyString”]' –

+1

同意。但是,在他的问题中,明确说明这种类型是相关的。 – rMickeyD