Swift3建立陣列

2021-07-31 06:39:40 字數 1791 閱讀 5545

陣列是由一組型別相同的元素構成的有序資料集合。陣列中的集合元素是有

序的,而且可以重複出現。

在swift語言中,陣列的型別格式為:

array或[elementtype]

其中array中的elementtype表示陣列的型別,是泛型寫法。[elementtype]是一種簡寫方式。兩者表示的功能是一樣的,我們更偏向於使用簡寫形式,本書裡所有陣列型別都是使用簡寫形式。

下面我們來建立乙個string型別的陣列

1 |  var strarray1: array

2 |  let strarray2: [string]

在宣告乙個陣列的時候可以使用let和var進行修飾,其中let表示不可變陣列,var表示可變陣列。

第1行**宣告了乙個型別為array的可變陣列strarray1。是泛型,說明在這個陣列中只能存放字串型別的資料。

第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= ["hello","swift"]

2 |  var strarray2: [string] =  ["hello","swift"]

3 |  let strarray3 = ["hello","swift",15]

上述**都是對陣列進行宣告和初始化,陣列的型別是通過冒號(:)指明陣列的型別。陣列中的元素由一對中括號()括起來,陣列中的元素之間用逗號分隔。

第1行**是使用標準模板方式宣告是乙個string型別的可變陣列strarray1,並初始化值為["hello","swift"]。其中尖括號表示陣列的型別,表示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]

Swift3 建立字典

字典是由兩部分內容構成的,乙個是鍵 key 乙個是值 value 字典是一種儲存多個型別相同的值的容器。每個值都和乙個唯一的鍵相對應,這個鍵在字典裡就是其對應值的唯一標識。鍵是不能有重複元素的,而值是可以重複的 鍵和值是成對出現的。跟陣列不同,字典裡的元素並沒有特定的順序。在 字典 中使用鍵來查詢其...

從零學習Swift 3

oc 風格的迴圈var sum 0 for var i 0 i 10 i print sum for in,0.10 表示從0到9 sum 0 for i in 0.10 print sum 範圍 0.10 表示從0到10 sum 0 for i in 0.10 print sum 省略下標 能夠匹...

Swift3廢除特性(一)

正式版的swift 3.0將隨著ios 10和macos sierra正式版在去年 2016年 秋季推出,但由 於swift開源的特性,使得我們能夠看到swift的開發進展。swift3.1已於今年春季退出,swift4.0將於今年秋季推出。先來回顧一下swift 3廢除的一些特性 1.棄用 與 操...