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

nano 文字編輯器

Android Studio 歷代版本下載點

16天記下7000單字

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