老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Swift編程高級教程(三)集合類型-數組-創新互聯

集合類型—數組

Swift語言提供了兩種集合數據類型:數組和字典,數組是一系列相同類型的變量值有序存儲;字典是一系列相同類型的變量值的無序存儲,可以通過一個唯一標識符(鍵)來引用和查找。

創新互聯公司是一家專業提供皇姑企業網站建設,專注與網站設計、成都網站制作H5響應式網站、小程序制作等業務。10年已為皇姑眾多企業、政府機構等服務。創新互聯專業網站設計公司優惠進行中。

數組和字典總是能識別自己所能夠存儲的鍵值的類型,就是說,我們不能夠往這兩個容器內插入錯誤的類型。顯式類型聲明的集合能確保我們的代碼總是能識別其所能存儲的變量類型,并能夠讓我們在實際編碼中捕捉到出現的任何類型錯誤。

提示
Swift的數組類型的變量在常量,變量賦值或者給函數和方法傳參的時候會表現出和其他類型不一樣的行為。

數組

數組在一個有序列表中存儲相同類型的多個值,而且相同值可以在不同位置重復存儲。
Swift數組不和Objective-C的數組那樣可以存儲任意Objective-C的對象,她是存貯指定類型的值;他的類型信息是非常明確的,不管顯式類型標記或者隱式類型來推斷,他總是有確定的一個類型,而且也沒有必定是一個類對象。比如你在一個Int類型的數組里,你能且只能往里面插入Int類型的變量,其他任何值都不行。故Swift的數組是類型安全的!

數組類型簡寫語法

Swift數組類型的一般書寫的完×××式是Array < SomeType >,其中SomeType為該數組所允許存儲元素的數據類型,我們也可以用這樣的簡寫方式:SomeType[]。這兩種形式的寫法本質上是完全相同的,但是我們更喜歡使用簡寫的方式,并在后續的教程里都用這個形式,大茶也相信讀者們肯定也喜歡簡寫方式的。

數組字面常量

我們可以用一個數組字面常量來初始化一個數組變量。數組的字面常量書寫方式如下:

[value 1value 2value 3value 1]

下面的例子創建一個叫做shoppingList的數組來存儲 String 類型值:

var shoppingList: String[] = ["Eggs", "Milk"]// 把shoppingList初始化為兩個初始數據元素

這個shoppingList變量通過String[]形式被聲明為一個String類型值的數組,因為這個特定的數組被指定了值類型String,所以我們只能用這個數組類存儲String值,這里我們存儲了兩個字面常量String值(“Eggs”和“Milk”)。

提示
這個shoppingList是聲明為變量(var說明符)而不是聲明為常量(let說明符),因為后面的例子里將有更多的元素被加入這個數組.

這里,這個字面常量數組只包含了2個String值,他能匹配shoppingList數組的類型聲明,所以可以用他來給shoppingList變量賦值初始化。
得益于Swift的類型推斷機制,我們在用數組字面常量來初始化一個數組時不需要明確指定他的類型,用如下這個很方便的方式:

var shoppingList = ["Eggs", "Milk"]

因為這個字面常量數組里的都是相同類型值,Swift編譯器可以推斷出該數組變量正確的數據類型是String[]

數組元素的存取

我們可以通過數組的方法或者屬性或者下標運算符來對一個數組進行訪問和修改。

要得到一個數組的元素的個數,我們可以用他的只讀屬性count來獲取。

println("Tht shopping list contains \(shoppingList.count) items.")// prints "The shopping list contains 2 items."

數組有一個叫做isEmpty的屬性來表示該數組是否為空,即count屬性等于 0:

if shoppingList.isEmpty {    println("The shopping list is empty.")
} else {    println("Tht shopping list is not empty.")
}// prints "The shopping list is not empty."

我們可以調用數組的append方法在數組的末尾追加一個新的元素:

shoppingList.append("Flour")// shoppingList now contains 3 items, and someone is making pancakes

或者更簡單的達到這一目的,可以用符合運算符(+=):

shoppingList += "Baking Powder"http://shoppingList now contains 4 items

我們還有可以直接給一個數組加上另一個類型一致的數組:

shoppingList += ["Chocolate Spread", "Cheese", "Butter"]// shoppingList now contains 7 items

Swift數組的下標運算和其他語言類似,下標都是從 0 開始,我們可以直接用下標來存取數組里面的元素; 此外,Swift的數組新增了一個功能就是可以通過下標來進行區間賦值了

var firstItem = shoppingList[0]// firstItem is equal to "Eggs"shoppingList[0] = "Six eggs"http:// the first item in the list is now equal to "Six eggs" rather than "Eggs"

提示
我們不能用下標的形式來給一個數組追加一個或者多個新的元素。如果下標越界將會觸發一個運行時的錯誤,所以我們在用下標進行運算的時候時刻要記得去檢測我們所用的下標是否越界,可以通過比較我們的下標index是否大于大的有效的下標值(count - 1

數組的插入和刪除
當我們需要在數組的某個地方插入一個新的元素的時候,可以調用數組的方法insert(atIndex:);

shoppingList.insert("Maple Syrup", atIndex: 0)// shoppingList now contains 7 items// "Maple Syrup" is now the first item in the list

當我們需要在數組的某個地方移除一個既有元素的時候,可以調用數組的方法removeAtIndex,該方法的返回值是被移除掉的元素;

let mapleSyrup = shoppingList.removeAtIndex(0)// the item that was at index 0 has just been removed// shoppingList now contains 6 items, and no Maple Syrup// the mapleSyrup constant is now equal to the removed "Maple Syrup" string

當特殊情況我們需要移除數組的最后一個元素的時候,我們應該避免使用removeAtIndex方法,而直接使用簡便方法removeLast來直接移除數組的最后一個元素,removeLast方法也是返回被移除的元素。

let apples = shoppingList.removeLast()// the last item in the array has just been removed// shoppingList now contains 5 items, and no cheese// the apples constant is now equal to the removed "Apples" string
數組元素的遍歷

在Swift語言里,我們可以用快速枚舉(for-in)的方式來遍歷整個數組的元素:

for item in shoppingList {    println(item)
}// Six eggs// Milk// Flour// Baking Powder// Bananas

如果在快速枚舉的循環體內部需要獲取每個元素所對應的序號,我們可以嵌套一個全局方法enumerate來代替數組遍歷,該方法為數組里的每一項返回一個封裝了序號與元素值的元組類型變量,我們可以在快速枚舉遍歷過程中把該元組里的值提取到合適的臨時變量或者常量中:

for (index, value) in enumerate(shoppingList) {    println("Item \(index + 1): \(value)")
}// Item 1: Six eggs// Item 2: Milk// Item 3: Flour// Item 4: Baking Powder// Item 5: Bananas
數組創建與初始化

我們可以用如下的語法來初始化一個確定類型的空的數組(沒有設置任何初始值):

var someInts = Int[]()println("someInts is of type Int[] with \(someInts.count) items.")// prints "someInts is of type Int[] with 0 items.

變量someInts的類型會被推斷為Int[],因為他被賦值為一個Int[]類型的初始化方法的結果。
如果程序的上下文已經提供了其類型信息,比如一個函數的參數,已經申明了類型的變量或者常量,這樣你可以用一個空數組的字面常量去給其賦值一個空的數組(這樣寫[]):

someInts.append(3)// someInts now contains 1 value of type IntsomeInts = []// someInts is now an empty array, but is still of type Int[]

Swift的數組同樣也提供了一個創建指定大小并指定元素默認值的初始化方法,我們只需給初始化方法的參數傳遞元素個數(count)以及對應默認類型值(repeatedValue):

var threeDoubles = Double[](count: 3, repeatedValue: 0.0)// threeDoubles is of type Double[], and equals [0.0, 0.0, 0.0]

同樣得益于Swift語言的類型推斷,我們在用這個初始化方法的時候也可以不需要指定數組里面所存儲元素類型,他會自動去判斷那個提供的默認值的類型:

var anotherThreeDoubles = Array(count: 3, repeatedValue: 2.5)// anotherThreeDoubles is inferred as Double[], and equals [2.5, 2.5, 2.5]

最后,我們數組也可以像字符串那樣,可以把兩個已有的類型一致的數組相加得到一個新的數組,新數組的類型由兩個相加的數組的類型推斷而來:

var sixDoubles = threeDoubles + anotherThreeDoubles// sixDoubles is inferred as Double[], and equals [0.0, 0.0, 0.0, 2.5, 2.5, 2.5]

好吧,關于Swift語言的數組的學習,大茶哥只能幫你到這了。戴維營教育的伙計們,發奮圖強吧。

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


本文題目:Swift編程高級教程(三)集合類型-數組-創新互聯
當前URL:http://www.xueling.net.cn/article/ccgeph.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 最新精品露脸国产在线 | www.91在线| 77色77国产欧美在线 | 午夜小视频在线 | 在线综合亚洲 | 特级片在线免费观看 | 国产乱子夫妻XX黑人XYX真爽 | 日韩在线第一区 | 成年美女黄的视频网站 | 三个男人躁我一个爽公交车上 | 亚洲激情校园 | 小泽玛利亚一区二区在线观看 | 人人玩人人添人人澡东莞 | 狠狠色丁香婷婷 | 双乳奶水饱满少妇呻吟 | 在线观看日韩视频 | 国产精品一区二区国产 | 成年男人裸j网站 | 中文字幕亚洲综合久久久软件 | 91插插插影 | 特大巨人黑人AAA片BBC | 小13箩利洗澡无码视频免费网站 | 日韩免费在线视频 | 亚洲一级爰片777777 | 91在线精品视频 | 国产精品久久久久乳精毛片毛斤 | 亚洲国产精品人人做人人爱 | 美女一二三区 | 高清一区在线 | se94se亚洲精品setu| 久久久久亚洲av成人动图 | 91在线91| 天天操夜夜操国产精品 | 麻豆一区二区三区在线观看 | 亚洲精品com| 野外一级毛片 | 免费看黄色毛片网站播放 | 国产精品96久久久久久吹潮 | 99精彩视频在线观看 | 欧美视频不卡 | 欧美激情视频一区二区三区 |