Swift 基本語法
大體來說,Swift我們需要掌握下面一些常用的基本語法:
我會一步一步整理出來, 今天暫時整理常量和變量,可選項;
1. 常量 & 變量
2. 可選項
3. 控制流
if
三目
if let
guard
switch
4. 字符串
5. 循環
6. 集合
6.1 數組
6.2 集合
一. 變量和常量
1. 定義
let 定義常量,一經賦值不允許再修改
var 定義變量,賦值之后仍然可以修改
場景1: 定義常量時就初始化值
//: # 常量
//: 定義常量并且直接設置數值
let x = 20
//: 常量數值一經設置,不能修改,以下代碼會報錯
// x = 30
場景2: 定義常量時,不初始化, 后續初始化
//: 使用 `: 類型`,僅僅只定義類型,而沒有設置數值
let x1: Int
//: 常量有一次設置數值的機會,以下代碼沒有問題,因為 x1 還沒有被設置數值
x1 = 30
//: 一旦設置了數值之后,則不能再次修改,以下代碼會報錯,因為 x1 已經被設置了數值
// x1 = 50
場景3: 定義變量
//: # 變量
//: 變量設置數值之后,可以繼續修改數值
var y = 200
y = 300
2. 自動推導
Swift能夠根據右邊的代碼,推導出常量 / 變量的準確類型
通常在開發時,不需要指定常量 / 變量的類型
如果要指定變量,可以在變量名后使用:,然后跟上變量的類型
let x2 = 100 // 會自動推導出是int型
let y2 = 10.5 // 會自動推導出是浮點型
var a = "wang" // 會自動推導出是字符串型
重要技巧:Option + Click 可以查看變量的類型
重要技巧:
3. 沒有隱式轉換!!!
Swift 對數據類型要求異常嚴格
任何時候,都不會做隱式轉換
如果要對不同類型的數據進行計算,必須要顯式的轉換:
let x2 = 100
let y2 = 10.5
let num1 = Double(x2) + y2
let num2 = x2 + Int(y2)
4. let & var 的選擇
應該盡量先選擇常量,只有在必須修改時,才需要修改為 var
在 Xcode 7.0 中,如果沒有修改變量,Xcode 會提示修改為 let
二. Optional 可選值(可選項)
** 1. Optional 是 Swift 的一大特色,也是 Swift 初學者最容易困惑的問題
2.定義變量時,如果指定是可選的,表示該變量可以有一個指定類型的值,也可以是 nil
3.定義變量時,在類型后面添加一個 ?,表示該變量是可選的
4.變量可選項的默認值是 nil
5.常量可選項沒有默認值,主要用于在構造函數中給常量設置初始數值**
//: num 可以是一個整數,也可以是 nil,注意如果為 nil,不能參與計算
let num: Int? = 10
6.如果 Optional 值是 nil,不允許參與計算
7.只有解包(unwrap)后才能參與計算
8.在變量后添加一個 !,可以強行解包
>注意:必須要確保解包后的值不是 nil,否則會報錯
//: num 可以是一個整數,也可以是 nil,注意如果為 nil,不能參與計算
let num: Int? = 10
//: 如果 num 為 nil,使用 `!` 強行解包會報錯
let r1 = num! + 100
//: 使用以下判斷,當 num 為 nil 時,if 分支中的代碼不會執行
if let n = num {
let r = n + 10
}
常見錯誤
unexpectedly found nil while unwrapping an Optional value
翻 :
在[解包]一個可選值時發現 為nil ,
?? 運算符 :
** 1. ?? 運算符可以用于判斷 變量/常量 的數值是否是 nil,如果是則使用后面的值替代
2.在使用 Swift 開發時,?? 能夠簡化代碼的編寫 **
let num: Int? = nil
let r1 = (num ?? 0) + 10
print(r1)