Swift學(xué)習(xí)(一:基礎(chǔ)部分,基本運算符)

前言

從今天開始,我會記錄Swift的學(xué)習(xí)過程,有興趣的朋友可以跟著一起學(xué)習(xí)。在這里推薦幾個學(xué)習(xí)網(wǎng)址,大家共勉,我的學(xué)習(xí)記錄是根據(jù)第一個鏈接寫的。

swift學(xué)習(xí)鏈接1
swift學(xué)習(xí)鏈接2

1.常量和變量
let來聲明常量,用var來聲明變量。

    let a = 10;
    var b = 0;

可以理解為:聲明了一個名字為a常量,并給它賦值為10;
聲明了一個名字為b變量,并給它賦初始值為0;

可以在一行聲明多個常量或變量:

    var x = 0.0, y = 0.0, z = 0.0

2.類型標(biāo)注
聲明常量或變量的時候可以加上類型標(biāo)注

    var a : String
    a = "hello"

聲明一個類型為String,名字為a的變量
給變量a賦值

可以定義多個同類型的變量

  var a, b, c:Double

3.打印輸出
Swift 用字符串插值(string interpolation)的方式把常量名或者變量名當(dāng)做占位符加入到長字符串中,Swift 會用當(dāng)前常量或變量的值替換這些占位符。將常量或變量名放入圓括號中,并在開括號前使用反斜杠將其轉(zhuǎn)義:

    print("a 的值為\(a)")

4.注釋

    //這是單行注釋
    /*這是多
    行注釋*/

5.類型轉(zhuǎn)換:Int轉(zhuǎn)Double

    let three = 3
    let p = 22.11
    let w = Double(three) + p

6.布爾值

    let a = true
    let b = false

7.元組

    let htt = (404,"not found") 
    http404Error 的類型是 (Int, String),值是 (404, "Not Found")

可以將元組分解

    let (code,message) = htt
    print("this code is \(code)")
    print("this message is \(message)")

如果只需要一部分元組,分解是可以把不需要的忽略,用_標(biāo)記

    let (code,_) = htt

可以用下標(biāo)來訪問元組中的元素

    print("this code is \(htt.0)")
    print("this message is \(htt.1)")

給元素命名,然后通過名字來獲取這些元素的值:

    let htt = (code:200,message:"ok")
    print("this code is \(htt.code)")
    print("this message is \(htt.message)")

8.可選類型

    var a : Int? = 404 //a包含一個可選的Int

如果聲明一個可選的常量或變量但是沒有賦值,則默認為nil

  var a : String?

9.隱式解析可選類型
一個隱式解析可選類型其實就是一個普通的可選類型,但是可以被當(dāng)做非可選類型來使用,并不需要每次都使用解析來獲取可選值。下面的例子展示了可選類型String和隱式解析可選類型String之間的區(qū)別

    let a : String? = "hahaha"
    let b : String = a!    //需要驚嘆號來獲取值

    let a : String! = "hehehe"
    let b : String = a   //不需要驚嘆號來獲取值

注意
如果一個變量之后可能變成nil的話請不要使用隱式解析可選類型。如果你需要在變量的生命周期中判斷是否是nil的話,請使用普通可選類型。

10.錯誤處理

    func canThrowAnerror() throws{
        //這個函數(shù)可能拋出錯誤
    }

一個函數(shù)可以通過在聲明中添加throws關(guān)鍵詞來拋出錯誤消息。當(dāng)你的函數(shù)能拋出錯誤消息時, 你應(yīng)該在表達式中前置try關(guān)鍵詞。

    do{
        try canThrowAnerror() throws{
            //沒有錯誤拋出 
        }
            //有錯誤拋出
    }

11.基本運算符

  • 賦值運算符=

  • 算術(shù)運算符 +,-,*,/
    加法運算符也可用作String的拼接:"hello,"+"world"

  • 求余運算符 a % b

  • 一元負號運算符:

      let three = -3  //three 等于 -3
      let a = -three   //a 等于 3  ,因為“--3”
    
  • 一元正號運算符:

      let two = -2    //two 等于 -2
      let a = +two  //a 等于 -2
    
  • 組合賦值運算符: +=,-=

  • 比較運算符 ==,!=,>,<,>=,<=

12.三目運算符:它的形式是:問題 ? 答案一 : 答案二

    let a = 10
    let b = 12
    let c = true
    let d = a + (c ? a : b)

13.空合運算符: a ?? b
對可選類型a進行空判斷,如果a包含一個值就進行解封,否則就返回一個默認值b。

表達式 a 必須是 Optional 類型。默認值 b 的類型必須要和 a 存儲值的類型保持一致。

    a != nil ? a! : b   //這是空合運算符的復(fù)雜寫法

當(dāng)可選類型 a 的值不為空時,進行強制解封(a!),訪問 a 中的值;反之返回默認值 b。

    let c = "hehe"
    var d : String?
    let e = d ?? c
    print(e) //打印出來為 "hehe"

14.區(qū)間運算符
*閉區(qū)間運算符 :a...b
包含ab(包括ab)

    for index in 1...5{
        print(index)
    }

*半開區(qū)間運算符:a..<b
包含ab但不包括b

15.邏輯運算符

  • !a
  • a && b
  • a || b

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容