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

【從零開始學 Kotlin 程式設計】
線上教學課程目錄:https://bit.ly/2Kx7GrM
Youtube 課程播放清單:https://bit.ly/3qJ5a5Q
apply
apply 函數可以視為,對此物件套用設定相關屬性。
apply 區域函數,基本用法
//宣告一個 Person 資料類別
data class Account(val name: String) {
    var id:String = ""
    var balance: Int = 0
    var addr: String = ""
}
//使用前
val adam = Account("HKT線上教室")
    adam.id = "qwerty1234"
    adam.balance = 88888888
    adam.addr = "台北101"
//使用後
val account = Account("HKT線上教室").apply {
    id = "qwerty1234"
    balance = 88888888
    addr = "台北101"
}
println(account.name) //HKT線上教室
println(account.id) //qwerty1234
println(account.balance) //88888888
println(account.addr) //台北101
apply 與 run 函數差異比較
apply 與 run 函數很像,可以對該物件設定屬性,兩者差異是 apply 函數是返回該物件,run 函數是返回 Lambda 運算結果
fun main() {
    val applyResult = "HKT線上教室".apply {
        9 * 9
    }
    val runResult = "HKT線上教室".run {
        9 * 9
    }
    
    println(applyResult)//HKT線上教室
    println(runResult)//81
}
apply 區域函數功能表
| 函數名稱 | 物件參考名稱 | 返回值 | 是否為擴展函數 | 
|---|---|---|---|
| apply | this | Context 物件 | 是 | 
apply 區域函數,在 Android 應用實戰範例
val textView : TextView = findViewById(R.id.textView)
//未使用 run 區域函數,每次使用都要「?.」判斷是否為 null
textView?.text = "HKT線上教室"
textView?.setTextColor(Color.parseColor("#ffd700"))
textView?.textSize = 66f
//使用 apply 區域函數
textView.apply {
    text = "HKT線上教室"
    setTextColor(Color.parseColor("#ffd700"))
    textSize = 66f
}

那這次的課程就介紹到這邊囉~
順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰