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 區域函數功能表
函數名稱 | 物件參考名稱 | 返回值 | 是否為擴展函數 |
---|---|---|---|
let | it | Lambda 運算結果 | 是 |
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 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰