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