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 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰