国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Swift > 正文

Swift編程中數組的使用方法指南

2020-03-09 17:49:45
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Swift編程中數組的使用方法指南,是Swift入門學習中的基礎知識,需要的朋友可以參考下
 

Swift 數組用于存儲相同類型的值的順序列表。Swift 要嚴格檢查,它不允許錯誤地在數組中存放了錯誤的類型。

如果賦值創建數組到一個變量,它總是可變的,這意味著可以通過添加元素來改變它, 刪除或更改其項目,但如果分配一個數組常量到則該數組,則數組是不可被改變的, 也就它的大小和內容不能被改變。

創建數組
可以使用下面的初始化程序語法來創建某種類型的空數組:

復制代碼代碼如下:

var someArray = [SomeType]()

下面是創建一個給定的大小,并用初始值的數組的語法:
復制代碼代碼如下:

var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)

下面是一個例子,以創建具有3個元素并初始值為零的 int 類型空數組:
復制代碼代碼如下:

var someInts = [Int](count: 3, repeatedValue: 0)

下面是一個創建三個元素的數組,并指定三個值的數組的例子:
復制代碼代碼如下:

var someInts:[Int] = [10, 20, 30]

訪問數組
可以使用下標語法從數組中檢索對應值,傳遞數組名后方括號內的索引對應的值,如下:
復制代碼代碼如下:

var someVar = someArray[index]

在這里,指數從0開始,這意味著可以使用索引0來訪問第一個元素,第二元素可以通過使用索引1進行訪問,其它類似。讓我們來看看下面創建,初始化和訪問數組的例子:
復制代碼代碼如下:

import Cocoa

 

var someInts = [Int](count: 3, repeatedValue: 10)

var someVar = someInts[0]

println( "Value of first element is /(someVar)" )
println( "Value of second element is /(someInts[1])" )
println( "Value of third element is /(someInts[2])" )


當上述代碼被編譯和執行時,它產生了以下結果:

 

Value of first element is 10Value of second element is 10Value of third element is 10

修改數組
可以使用 append() 方法或加法賦值運算符(+=)將新的項目添加到數組的末尾,在這里首先創建一個空的數組,然后添加新的元素到數組中,如下所示:

復制代碼代碼如下:

import Cocoa

 

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

var someVar = someInts[0]

println( "Value of first element is /(someVar)" )
println( "Value of second element is /(someInts[1])" )
println( "Value of third element is /(someInts[2])" )


當上述代碼被編譯和執行時,它產生了以下結果:

 

Value of first element is 20Value of second element is 30Value of third element is 40

可以通過分配一個在給定的索引處新的值修改數組的現有元素,如在下面的例子:

復制代碼代碼如下:

import Cocoa

 

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

// Modify last element
someInts[2] = 50

var someVar = someInts[0]

println( "Value of first element is /(someVar)" )
println( "Value of second element is /(someInts[1])" )
println( "Value of third element is /(someInts[2])" )


當上述代碼被編譯和執行時,它產生了以下結果:

 

Value of first element is 20Value of second element is 30Value of third element is 50

迭代/遍歷數組
可以使用 for-in 循環迭代級數,在下面的例子是數組的整個集值,如下圖所示:

復制代碼代碼如下:

import Cocoa

 

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Google"]

for item in someStrs {
   println(item)
}


當上述代碼被編譯和執行時,它產生了以下結果:

 

AppleAmazonGoogle

也可以使用 enumerate() 函數,如下面的例子所示,它返回索引及對應的值:

復制代碼代碼如下:

import Cocoa

 

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Google"]

for (index, item) in enumerate(someStrs) {
   println("Value at index = /(index) is /(item)")
}


當上述代碼被編譯和執行時,它產生了以下結果:

 

Value at index = 0 is AppleValue at index = 1 is AmazonValue at index = 2 is Google

兩個數組相加
使用加法運算符(+),以添加的相同類型的數組,這將產生新的數組是來自兩個數組值相加組合后的數組,如下:

復制代碼代碼如下:

import Cocoa

 

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB

for item in intsC {
   println(item)
}


當上述代碼被編譯和執行時,它產生了以下結果:

 

22111

count 屬性
可以使用只讀計算 (count) 數組屬性,找出下面顯示出數組中元素的個數:

復制代碼代碼如下:

import Cocoa

 

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB

println("Total items in intsA = /(intsA.count)")
println("Total items in intsB = /(intsB.count)")
println("Total items in intsC = /(intsC.count)")


當上述代碼被編譯和執行時,它產生了以下結果:

 

Total items in intsA = 2Total items in intsB = 3Total items in intsC = 5

空屬性
使用只讀數組的空屬性(isEmpty)找出一個數組是否為空,如下圖所示:

復制代碼代碼如下:

import Cocoa

 

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = [Int]()

println("intsA.isEmpty = /(intsA.isEmpty)")
println("intsB.isEmpty = /(intsB.isEmpty)")
println("intsC.isEmpty = /(intsC.isEmpty)")


當上述代碼被編譯和執行時,它產生了以下結果:

 

intsA.isEmpty = falseintsB.isEmpty = falseintsC.isEmpty = true


注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东台市| 泰州市| 镇远县| 桦川县| 义马市| 会昌县| 定州市| 新和县| 河北省| 富顺县| 河北省| 佛教| 罗甸县| 玛沁县| 文山县| 台东县| 瑞金市| 绍兴市| 屯门区| 柯坪县| 纳雍县| 玉树县| 友谊县| 建水县| 鹤峰县| 灵丘县| 海城市| 吉首市| 女性| 隆化县| 班戈县| 察隅县| 象州县| 秭归县| 隆化县| 忻州市| 沁水县| 信阳市| 元谋县| 建昌县| 固阳县|