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 開發教學)

nano 文字編輯器

Android Studio 歷代版本下載點

16天記下7000單字

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