Swift基本語法(01) --- 常量 & 變量 & 可選項

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)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 關于 Swift 重要這個文檔所包含的準備信息, 是關于開發的 API 和技術的。這個信息可能會改變, 根據這個文...
    無灃閱讀 4,378評論 1 27
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,896評論 1 10
  • Swift 簡介 查看Swift當前版本 簡介 Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X...
    mian小爬閱讀 365評論 0 1
  • Swift 是一門開發 iOS, macOS, watchOS 和 tvOS 應用的新語言。然而,如果你有 C 或...
    XLsn0w閱讀 934評論 2 1
  • 六、一班 粟子容 "你還以為走路是世界上最簡單的事情嗎?只不過是把一只腳放在另一只腳前面,這次原本是本能的事情實...
    一花匠閱讀 406評論 1 0