2016-04-27 73 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