- 變量
- 命名方式:
var a = 1
或者var a: Int = 1
揍移。 - 命名可以不指定類型壳咕,因?yàn)镾wift可推測(cè)變量類型衷蜓。(建議不需標(biāo)明類型)
- 一般變量聲明
var
和常量聲明let
蔼夜。 - 禁止變量進(jìn)行默認(rèn)類型轉(zhuǎn)換,比如
var greeting = "Hello"
品嚣,然后greeting = 5
炕倘。
- 字符串
- 對(duì)于字符串的操作、函數(shù)并引入其他庫(kù)來使用函數(shù)翰撑。
- 分號(hào)
- 分號(hào)可加可不加罩旋,一般情況下效果由換行替代。但如果語(yǔ)句為同一行則必須加分號(hào)來間隔眶诈。(建議不需加上分號(hào))
- 數(shù)字類型與轉(zhuǎn)換
- Swift一般會(huì)根據(jù)輸入的數(shù)值大小自動(dòng)為變量選擇最為合適的類型涨醋。
- 可以用_來作為千位分隔符:
let million 1_000_000
。 - 所有數(shù)值類型的轉(zhuǎn)換都必須明確地表示逝撬。Swift庫(kù)內(nèi)函數(shù)一般進(jìn)行操作的兩個(gè)數(shù)都是同樣類型浴骂。即使是
Int
乘以Double
類型也必須明確標(biāo)明,如Double(radius) * Double(radius) * pi
宪潮。 -
cmd+click
可以查看庫(kù)函數(shù)溯警。 - 另外一個(gè)Swift的安全措施是大小檢查。如
var overflow = Int.max + 1
狡相,很多編程語(yǔ)言的答案是一個(gè)負(fù)數(shù)梯轻,但Swift會(huì)當(dāng)做Runtime error
。
- 布爾類型
- 不能用非零數(shù)字當(dāng)做
true
谣光,在Swift中檩淋,必須使用Bool
類型,否則庫(kù)函數(shù)不接受萄金。
- 元組
- 元組的聲明:
var address = (1, "A")
蟀悦。
顯式聲明:var address: (Int, String) = (1, "A")
。
元組的元素的使用:println(address.0)
氧敢。 - Swift的安全措施:調(diào)用元組中不存在的元素會(huì)導(dǎo)致編譯錯(cuò)誤日戈。
- 可以將元組中的元素提取出來成單個(gè)元素:
let (house, street) = adress
。 - 可以給元組中的元素命名:
var address = (number: 1, street: "A")
孙乖。
使用命名的元素:println(address.number)
浙炼。 - 打印的時(shí)候可以使用簡(jiǎn)化的語(yǔ)句:
pringln("I live at \(house), \(street)")
,這種方式成為string interpolation(字符串式插值)唯袄。
或者使用:let str = I live at \(house), \(street)
弯屈,然后println(str)。
- 循環(huán)
- for循環(huán)語(yǔ)法:
for i in 1...5 {}
恋拷。...
是閉區(qū)間操作符资厉,還可以使用..<
,這個(gè)操作符是半開半閉區(qū)間操作符蔬顾。 -
1...5
是一個(gè)獨(dú)立結(jié)構(gòu)宴偿,可以使用var range = 1...5
,for i in range{...}
來進(jìn)行循環(huán)诀豁。這里range的結(jié)構(gòu)實(shí)際上是:var range = Range(start: 1, end: 6)
窄刘。 - range可以不僅僅是Range結(jié)構(gòu)類型,還可以是數(shù)組舷胜、鍵-值對(duì)娩践,也可以是String,如
for i in "Swift" { println(i) }
烹骨。這些類型都是可以枚舉的翻伺。 - while循環(huán):
var i = 0
while i < 5 {
println("\(i) - \(greeting)")
i++
}
- if語(yǔ)句
if i ==5 {
println("...")
} else {
println("...")
}
- if語(yǔ)句的判斷條件必須是Bool類型。
- if語(yǔ)句即使只有一行代碼展氓,也必須用大括號(hào)括起來穆趴。
- switch語(yǔ)句
- 語(yǔ)法:
var direction = "up"
switch direction {
case "down":
println(...)
case "up":
println(...)
default:
println(...)
}
- Swift中的Switch語(yǔ)句,可以使用任意類型而不是基本類來匹配遇汞,并且可以省略break關(guān)鍵字未妹。
- 如果沒有加上
default
關(guān)鍵字,則Swift會(huì)報(bào)錯(cuò)空入,并提醒最好加上default
語(yǔ)句络它。 - case語(yǔ)句可以這樣使用:
case: "down", "up":
case 1..<10:
還可以將匹配條件換成元組。