Swift3中數組建立方法,swift3數組建立
轉載自:http://blog.csdn.net/bwf_erg/article/details/70858865
數組是由一群組類型相同的元素構成的有序資料集合。數組中的集合元素是有
序的,而且可以重複出現。
1 數組建立
在Swift語言中,數組的類型格式為:
Array<ElementType>或[ElementType]
其中Array<ElementType>中的ElementType表示數組的類型,< ElementType >是泛型寫法。[ElementType]是一種簡寫方式。兩者表示的功能是一樣的,我們更偏向於使用簡寫形式,本書裡所有數群組類型都是使用簡寫形式。
下面我們來建立一個String類型的數組
1 | var strArray1: Array<String> 2 | let strArray2: [String] |
在聲明一個數組的時候可以使用let和var進行修飾,其中let表示不可變數組,var表示可變數組。
第1行代碼聲明了一個類型為Array<String>的可變數組strArray1。<String>是泛型,說明在這個數組中只能存放字串類型的資料。
第2行代碼聲明了一個類型為[String]的不可變數組strArray2。[String]也是聲明一個只能存放字串類型的數組。
接下來我們來學習如何建立一個空數組。
1 | var emptyStrs= [String]() 2 | let emptyInts = [Int]() |
建立一個數組需要對數組進行聲明和初始化。上述第1行代碼我們建立了一個String類型可變空數組emptyStrs。其中我們var聲明表示該數組是可變數組,中括弧[]裡面的值String表示數組的類型。[String]()是對數組進行初始化,只不過沒有任何元素。
第2行代碼與第1行代碼同樣是建立一個空數組emptyInts,區別在於我們用let聲明了一個不可變數組,該數組的類型是Int類型。let聲明的數組是不可變數組,必須在聲明的同時進行初始化,一旦初始化,就不可以被修改。
最後我們來學習如何建立非空數組。範例程式碼如下:
1 | var strArray1: Array<String> = ["hello","Swift"] 2 | var strArray2: [String] = ["hello","swift"] 3 | let strArray3 = ["hello","swift",15] |
上述代碼都是對數組進行聲明和初始化,數組的類型是通過冒號(:)指明數組的類型。數組中的元素由一對中括弧([])括起來,數組中的元素之間用逗號分隔。
第1行代碼是使用標準模板方式聲明是一個String類型的可變數組strArray1,並初始化值為["hello","swift"]。其中角括弧<String>表示數組的類型,表示strArray1隻能存放String類型的元素。
第2行代碼是採用簡寫形式顯式聲明可變數組strArray2。[String]表示數組的類型,表示strArray2隻能存放String類型的元素。
第3行代碼聲明了一個不可變數組,這裡沒有指明數組的類型,採用的是隱式推斷。根據初始化數組的值推斷出數組的類型。在strArray3數組中我們存放了String類型的"hello","swift"以及Int類型的15。在沒有明確指定數群組類型,我們可以在數組中存放不同類型的元素。
不可變數組在訪問效率上比可變數組要高,可變數組通過犧牲訪問效率換取可變。當我們可以確定數組是不需要修改的,我們應該將它聲明為let。如果數組內容需要改變。我們需要將它聲明為var。
此外,如果數組中儲存多個相同的元素,我們可以通過以下方法快速建立該數組:
1 | var threeDoubles = Array(repeating: 0.0, count: 3) |
此時threeDoubles數組的內容為[0.0,0.0,0.0]