標籤:
1、常量的定義
常量定義使用let關鍵字,可以採用下面兩種方式之一:
1)標準方式初始化
let CPU_NUM: Int = 2
2) 對於確切的值,可以使用類型推斷,如 let CPU_NUM = 2
常量一般在定義時即初始化,為了簡潔一般採用上面第2)種方式。
常量可以只聲明但不初始化,隨後在具體的場合初始化,但只能初始化一次。因為聲明時沒有具體的值,無法進行確切的類型推斷,所以需要按照標準的方式聲明,加上類型值。
如:let CPU_NUM: Int; CPU_NUM = 2
2、變數的定義
變數定義使用var關鍵字,可以採用的形式如:
1)標準方式
var Welcome: String = "Hello World!"
2)類型推斷
var Welcome = "Hello World!"
也可以只聲明,如var Welcome: String
3、元組
let HTTP404Error = (404, "Not found")
var (statusCode, statusMessage) = HTTP404Error
var (_, result) = HTTP404Error
也可以在定義元組時為每個欄位指定名字,如:
let HTTP200Status = (statusCode: 200, Content:"OK")
列印時可以這樣使用:
print(HTTP200Status.statusCode, HTTP200Status.Content)
4、可選類型
可以定義一個類型為可選類型,對於此類型的變數,它可以有具體的值,也可以沒有值,如果沒有值則為nil
如:
let IsCheckID: Bool? = true
if IsCheckID == nil {
print("No need check ID")
} else {
print("Check ID")
}
5、數組
定義數組的幾種方式:
1)可以先聲明,在適當的時候初始化
var Score: [Int]; Score = [Int]()
2)可以直接定義一個空數組
var Score = [Int]()
3)定義一個有初始大小的數組,並按照指定的值初始化
var Score = [Int](count: 10, repeatedValue: 0)
4)定義具有初始值的數組
var Score = [90, 59, 85.5]
向數組中插入元素,假設定義了以下數組:
varScore = [Int]()
可以用以下方式向數組中加入元素:
Score.append(10)
Score.append(20)
Score.append(30)
print(Score)
// output
[10, 20, 30]
數組下標的方法只能用來查詢或修改已有元素,不能用來插入新元素。如以下代碼將會印發執行階段錯誤:
Score[3] = 100
但是可以修改已存在的元素:
Score[2] = 100
// output
[10, 20, 100]
也可以在已有的元素中間插入一個新元素:
Score.insert(100, atIndex: 0)
// output
[100, 0, 20, 100]
也可以在當前數組的大小基礎上插入一個新元素,此時insert函數的作用等效於append
Score.insert(100, atIndex: 4)
//引發運行時異常
Score.insert(100, atIndex: 20)
6、集合
集合是用來存放具有相同資料類型的值得容器,集合中的資料不能重複。
集合的定義:
1)var Cities: Set<String> = ["Beijing", "Shanghai", "Shenzhen"]
2)var Cities: Set = ["Beijing", "Shanghai", "Shenzhen"] // 基於類型推斷
Set的元素順序具有不確定性,即遍曆時列印不一定和聲明或插入元素的順序一致。
print(Cities)
// output
["Shanghai", "Shenzhen", "Beijing"]
7、字典
字典屬於關聯容器,它是<key-value>索引值對的集合,其中key不能重複。
字典的定義:
1) var Score: [String: Int] = ["Jack": 90, "Aaron": 100]
2)var Score = ["Jack": 90, "Aaron": 100]
3)var Score = Dictionary<String, Int>()
字典的操作:
1)訪問某個元素
字典的值是可選類型,如果直接用下標法訪問,可能會和你的預期不一樣,如
print(Score["Jack"])
// output
Optional(90)
不過如果可以通過值進行正常比較,如if Score["Jack"] == 90
如果想正常列印值,可以這樣:
if let JackScore = Score["Jack"] {
print(JackScore)
}
// output
90
遍曆字典
for (name, score) in Score {
print(name, score)
}
列印一個不存在的Key的值,將會返回nil
字典和Set一樣,順具有不確定性
2) 插入資料
Score["Merry"] = 80
3)修改資料
Score.updateValue(95, forKey: "Merry")
updateValue一個不存在的Key,相當於新增加一個元素
Swift學習備忘錄