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

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

run

run 函數,可以把它視為 let 和 with 兩者合而為一出來的一個函數。怎麼說呢?
因為 run 函數,如同 let 函數可以優雅的判斷物件是否為 null。也同時擁有 with 函數,對同一個對象多次設定屬性的便捷寫法。

run 區域函數,基本用法

fun dataIsLong(data: String) = data.length > 5

fun main() {
    //使用前
    dataIsLong("1") //false
    dataIsLong("123456789") //true

    //使用後
    "1".run(::dataIsLong) //false
    "123456789".run(::dataIsLong) //true
}

run 區域函數,連續呼叫使用範例

fun dataIsLong(data: String) = data.length > 5

fun getResult(isTooLong: Boolean): String {
    return if (isTooLong) {
        "資料錯誤"
    } else {
        "資料正確"
    }
}

fun main() {
    // 傳統連續呼叫方式
    println(getResult(dataIsLong("123456")))
    
    
    //使用 run ,連續呼叫範例
    "123456"
        .run(::dataIsLong)
        .run(::getResult)
        .run(::println)
}

run 區域函數功能表

函數名稱物件參考名稱返回值是否為擴展函數
runthisLambda 運算結果
run-Lambda 運算結果不是:呼叫不用 Context 物件

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

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

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

//使用 run 區域函數
textView.run {
    text = "HKT線上教室"
    setTextColor(Color.parseColor("#ffd700"))
    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 文字編輯器