over 6 years ago
Array 型別語法
完整的 array 型別語法如下,Element 代表 array 內儲存值的型別。
Array<Element>
以下是比較簡單的寫法,也比較建議使用。
[Element]
Arrray 初始化
若沒有初始值的時候,宣告 array 時要先定義儲存值的型別,也可以直接帶入值自行判斷。
var array = [Int]()
var array = [1,2,3]
若已宣告的 array 變成空 array,一樣會是初始化時定義的型別。
var array = [Int]()
array = []
相加既有的 array 來宣告新的 array。
let array1 = [1,2,3]
let array2 = [1,2,3]
let array3 = array1 + array2
Array 的操作
計算數量
let array = [1,2,3]
array.count
是否為空 array
let array = [1,2,3]
array.isEmpty
加上新的值
var array = [1,2,3]
array.append(4)
透過 range 取得值
let array = [1,2,3,4,5]
let array1 = array[0…3]
Array 與 loop
透過 loop 取值
let array = [1,2,3]
for value in array {
value
}
透過 loop 取得 index 與 value
let array = [1,2,3]
for (index, value) in array.enumerated() {
index
value
}
Set 型別語法
Set 型別語法如下,Element 代表 set 內儲存值的型別,與 array 不同,沒有簡短的寫法。
Set<Element>
Set 初始化
若沒有初始值的時候,宣告 set 時要先定義儲存值的型別,
也可以直接帶入值自行判斷,但需要宣告是 set 類型,避免跟 array 搞混,
若變成空 set 時,一樣會是初始化時的型別。
var set = Set<Int>()
var set: Set = ["1","2","3"]
Set 的操作跟 array 完全相同
Set 排序
Set 是一個沒有經過排序的 list,但可以透過 function 讓 set 排序。
let set: Set = [3,2,5,1]
for value in set.sorted() {
value
}
Dictionary 型別語法
完整的 dictionary 型別語法如下,需定義 key 與 value 的型別。
Dictionary<key, value>
以下是比較簡單的寫法,也比較建議使用。
[key: value]
Dictionary 初始化
若沒有初始值的時候,宣告 dictionary 時要先定義儲存值的型別,
也可以直接帶入值自行判斷。
var d = [String: String]()
var d = ["first": "value"]
若已宣告的 dictionary 變成空 dictionary,一樣是初始化時的型別。
var d = ["first": "value"]
d = [:]
Dictionary 的操作
計算數量
let d = ["first": "value"]
array.count
是否為空 dictionary
let d = ["first": "value"]
d.isEmpty
更新 dictionary 的值,若更新的 key 不存在,會直接新增。
var d = [:]
d.updateValue("value", forKey: "second")
移除 value 的方法就是設為 nil,或是 remove value。
var d = ["first": "value", "second": "value"]
d["first"] = nil
d.removeValue(forKey: "second")
Dictionary 與 loop
透過 loop 取得 value 與 key。
var d = ["first": "value", "second": "value"]
for (key, value) in d {
key
value
}
透過 loop 取得 key。
var d = ["first": "value", "second": "value"]
for key in d.keys {
key
}
透過 loop 取得 value。
var d = ["first": "value", "second": "value"]
for value in d.values {
value
}