// 數組 // shoppingList變量被聲明爲「字符串值類型的數組「,記做[String]。 由於這個數組被規定只有String一種數據結構,因此只有String類型能夠在其中被存取。 在這裏,shoppinglist數組由兩個String值("Eggs" 和"Milk")構造,而且由字面量定義 var shopingList:[String] = ["Eggs","Milk"]; //因爲 Swift 的類型推斷機制,當咱們用字面量構造只擁有相同類型值數組的時候,咱們沒必要把數組的類型定義清楚。 shoppinglist的構造也能夠這樣寫 var shopingList2 = ["Eggs","Milk"]; // 訪問和修改數組 // 使用數組的只讀屬性count來獲取數組中的數據項數量 println("一共存在 \(shopingList.count) 個商品") // 檢查是否爲空 if shopingList2.isEmpty { println("數組爲空") }else{ println("數組不爲空") } // 可使用append方法在數組後面添加新的數據項 shopingList2.append("Dog") // 除此以外,使用加法賦值運算符(+=)也能夠直接在數組後面添加一個或多個擁有相同類型的數據項 shopingList2 += ["M"] // 經過下標獲取值 shopingList2[0] // 經過下標來修改值 shopingList2[0] = "eGGS" // 改變多個值 // 從下標1至下標三,替換爲賦值的值 shopingList2[1...3] = ["Enda","Yuan"] // 調用數組的insert(atIndex:)方法來在某個具體索引值以前添加數據項 shopingList2.insert("Chaina", atIndex:3) // 使用removeAtIndex方法來移除數組中的某一項 shopingList2.removeAtIndex(1) // 移除最後一項 使用 removeLast shopingList2.removeLast() // 數組遍歷 for item in shopingList2{ println(item) } // 加上索引遍歷 // 若是咱們同時須要每一個數據項的值和索引值,可使用全局enumerate函數來進行數組遍歷。enumerate返回一個由每個數據項索引值和數據值組成的元組。咱們能夠把這個元組分解成臨時常量或者變量來進行遍歷 for (index,value) in enumerate(shopingList2){ println("index:\(index) value:\(value)") } shopingList2 // 咱們可使用構造語法來建立一個由特定數據類型構成的空數組 var someInt = [Int]() someInt.append(3) someInt someInt = [] // someInts 如今是空數組,可是仍然是[Int]類型的 // Swift 中的Array類型還提供一個能夠建立特定大小而且全部數據都被默認的構造方法。咱們能夠把準備加入新數組的數據項數量(count)和適當類型的初始值(repeatedValue)傳入數組構造函數 var threeDoubles = [Double](count: 3, repeatedValue:0.0) threeDoubles // 由於類型推斷的存在,咱們使用這種構造方法的時候不須要特別指定數組中存儲的數據類型,由於類型能夠從默認值推斷出來 var another = Array(count:3,repeatedValue:2.5) // 最後,咱們可使用加法操做符(+)來組合兩種已存在的相同類型數組。新數組的數據類型會被從兩個數組的數據類型中推斷出來: var sixDoubles = threeDoubles + another