Kotlin 教學【從零開始學 Kotlin 程式設計】kotlin 區域函數 (Scope functions) - let

【從零開始學 Kotlin 程式設計】
線上教學課程目錄:https://bit.ly/2Kx7GrM
Youtube 課程播放清單:https://bit.ly/3qJ5a5Q

let

在 Kotlin 中, let 可以對一個可空對象進行非空判斷後,將對象作為參數傳遞到 Lambda 表達式中。
在 Lambda 表達式中,對象可以使用特定的名稱來進行操作,而不需要每次都使用原始變數名稱進行調用。

let 區域函數,使用時機一

檢查資料值是不是 null,不是 null 非空值 ,才執行大括號內的邏輯程式區塊。

fun main() {
    var str: String? = "HKT線上教室"
//    str = null

    str?.let {
        println(it)
        println(it.length)
    }
}

let 區域函數,使用時機二

將表達式視為變數 it,並傳入大括號內的邏輯程式區塊,進行運算。

fun main() {
    val getFirstNum = listOf(1, 2, 3).first().let {
        println(it) //1
        it * 666
    }

    println(getFirstNum) //666
}

使用 let 改寫,if/else

//使用 if/else
fun login1(userName: String?): String {
    return if (userName != null) {
        "哈囉~ $userName"
    } else {
        "尚未登入"
    }
}

//使用 let 改寫 if/else
fun login2(userName: String?): String {
    return userName?.let {
        "哈囉~ $it"
    } ?: "尚未登入"
}

fun main() {
    println(login1(null))
    println(login1("HKT線上教室"))

    println(login2(null))
    println(login2("HKT線上教室"))
}

let 區域函數功能表

函數名稱物件參考名稱返回值是否為擴展函數
letitLambda 運算結果

let 區域函數,在 Android 應用實戰範例

val textView : TextView = findViewById(R.id.textView)

//未使用 let 區域函數,每次使用都要「?.」判斷是否為 null
textView?.text = "HKT線上教室"
textView?.setTextColor(Color.parseColor("#ffd700"))
textView?.textSize = 66f

//使用 let 區域函數
textView?.let { 
    it.text = "HKT線上教室"
    it.setTextColor(Color.parseColor("#ffd700"))
    it.textSize = 66f
}

那這次的課程就介紹到這邊囉~

順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。

我們下次再見囉!!!掰掰

這個網誌中的熱門文章

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

Android Studio 歷代版本下載點

最新入門零基礎 Java 教學【從零開始學 Java 程式設計】Java教學課程目錄 (IntelliJ IDEA 開發教學)

2022 最新入門零基礎 Flutter教學 【Flutter 程式設計入門實戰 30 天】Flutter 教學課程目錄 (IntelliJ IDEA 開發教學)

nano 文字編輯器