貓貓分享,必須精品
一:常量、變量
1:什么是常量和變量
- 在swift中,定義一個(gè)標(biāo)識(shí)符時(shí)候必須明確其是常量還是變量
- 使用let定義常量,定義后不可以修改
- 使用var定義變量,定以后可以修改
2:常量和變量的區(qū)別
-
常量用let定義,定以后不可以修改,變量用var定義,定以后可以修改
1.png
3:使用的注意事項(xiàng)
- 在開(kāi)發(fā)時(shí),優(yōu)先使用常量,當(dāng)發(fā)現(xiàn)標(biāo)識(shí)符需要修改時(shí),再改為變量(將let改為var).目的是防止在其他不希望修改的地方不小心將值改掉了.
-
常量的本質(zhì):指向的內(nèi)存地址不可以修改,但是可以通過(guò)內(nèi)存地址找到對(duì)應(yīng)的對(duì)象,之后修改對(duì)象內(nèi)部的屬性.
2.png
二:數(shù)據(jù)類型
1:Swift中的數(shù)據(jù)類型
- 整形
- 有符號(hào)
- Int8:有符號(hào)8位整形
- Int16:有符號(hào)16位整形
- Int32:有符號(hào)32位整形
- Int64:有符號(hào)64位整形
- Int:默認(rèn),相當(dāng)于OC的NSInteger
- 無(wú)符號(hào)
- UInt8:無(wú)符號(hào)8位整形
- UInt16:無(wú)符號(hào)16位整形
- UInt32:無(wú)符號(hào)32位整形
- UInt64:無(wú)符號(hào)64位整形
- UInt:默認(rèn),相當(dāng)于OC的NSUInteger
- 有符號(hào)
- 浮點(diǎn)型
- Float:32位浮點(diǎn)型
- Double:64浮點(diǎn)型(默認(rèn))
- 枚舉使用
1.如果可以根據(jù)上下文語(yǔ)法退單出該枚舉的類型可以直接用 .具體枚舉-
上下文推斷不出類型,就用 枚舉類型.具體類型
3.png
-
2:Swift中的類型推導(dǎo)
- Swift是強(qiáng)類型語(yǔ)言,Swift中的任意標(biāo)識(shí)符都有明確的類型
- 如果定義一個(gè)標(biāo)識(shí)符時(shí)有直接進(jìn)行賦值,那么標(biāo)識(shí)符后面的類型可以省略.因?yàn)镾wift有類型推導(dǎo),會(huì)自動(dòng)根據(jù)后面的賦值來(lái)決定前面的標(biāo)識(shí)符的數(shù)據(jù)類型.(可以通過(guò)option鍵+鼠標(biāo)左鍵來(lái)查看標(biāo)識(shí)符的數(shù)據(jù)類型)
//這兩句的效果是一樣的
let btn:UIButton = UIButton()
let btn = UIButton()
3:Swift中的基本運(yùn)算
-
強(qiáng)制轉(zhuǎn)換 類型(標(biāo)識(shí)符)
4.png
三:邏輯分支
1:if分支
-
寫(xiě)法:
5.png - 注意:
- 判斷句可以不加()
- 在swift的判斷句中必須有明確的真假(沒(méi)有非0即真,必須有明確的Bool值false/true)
2:guard
-
介紹
- guard是swift2.0新增的語(yǔ)法.類似于if,其設(shè)計(jì)目的為提高程序的可讀性
使用
guard 條件表達(dá)式 else {
//條件語(yǔ)句
break
}
語(yǔ)句組
- guard語(yǔ)句必須帶有else語(yǔ)句,
- 當(dāng)條件表達(dá)式為true時(shí)候跳轉(zhuǎn)過(guò)else語(yǔ)句中的內(nèi)容,執(zhí)行語(yǔ)句組中的內(nèi)容.
-
條件表達(dá)式為false時(shí)候執(zhí)行else語(yǔ)句中的內(nèi)容,跳過(guò)語(yǔ)句一般是return,break,continue,throw
6.png
3:switch分支
- switch的基本使用
- switch()可以省略
- case結(jié)束可以不加break
- case后面可以加多個(gè)條件
- 如果希望case穿透,可以在case結(jié)束時(shí)加fallthrough
- 可以判斷多裝類型 浮點(diǎn)型,字符串,區(qū)間類型
區(qū)間類型表示1~6區(qū)間有
1..<7
1...6
4:三目運(yùn)算
let a = 5>4 ? 5 : 4
和其他語(yǔ)言沒(méi)啥區(qū)別,要注意的是?前面的空格是必須寫(xiě)的.
四:循環(huán)分支
for循環(huán)
- 現(xiàn)在只支持區(qū)間for循環(huán)
* 寫(xiě)法
for 下標(biāo) in 區(qū)間 {
語(yǔ)句塊
}
for i in 0..<10{
print(i)
}
for _ in 0..<10{
print("不要下標(biāo)的遍歷")
}
- 普通for,類似于oc,2.0時(shí)候可以,3.0以后廢除
while和do while 循環(huán)
- while
- while的判斷句必須有正確的真假,沒(méi)有非0即真
- while后面的括號(hào)可以省略
while 判斷句 {
語(yǔ)句塊
}
- do while 使用repeat關(guān)鍵字代替了do
寫(xiě)法
repeat {
語(yǔ)句塊
} while 判斷句





