Kotlin 教學【從零開始學 Kotlin 程式設計】kotlin 預先條件函數 (Precondition functions)
【從零開始學 Kotlin 程式設計】
線上教學課程目錄:https://bit.ly/2Kx7GrM
Youtube 課程播放清單:https://bit.ly/3qJ5a5Q
預先條件函數
在 Kotlin 中,標準函數庫中還有提供預先條件函數,檢查資料是否為 null 或是否符合特定條件,如果不符合要求,可以立即丟出例外錯誤。
[[toc]]
checkNotNull
checkNotNull 函數用來檢查傳入的參數是否為 null,
如果為 null,則拋出 IllegalStateException 例外,否則返回非空值。
以下程式碼,示範使用 checkNotNull 函數,範例如下:
fun printLength(s: String?) {
val length = checkNotNull(s).length
println(length)
}
我們使用 checkNotNull 函數來檢查傳入的 s 參數是否為 null,
如果是,則拋出 IllegalStateException 例外;否則,我們可以安全地訪問 s 的 length 屬性。
require
以下程式碼,示範使用 require 函數,範例如下:
fun divide(a: Int, b: Int) {
require(b != 0) { "分母不能為 0" }
println(a / b)
}
我們使用 require() 函數,來檢查傳入的參數是否為正整數,如果傳入 b 參數是 0,則直接拋出例外。
requireNotNull
requireNotNull 函數用來檢查傳入的參數如果為空值,則拋出 IllegalArgumentException
以下程式碼,示範使用 requireNotNull 函數,範例如下:
fun main() {
val name: String? = null
val nonNullName = requireNotNull(name) { "資料不能為空值" }
println(nonNullName)
}
assert
assert 函數主要用來測試條件是否為真。如果條件為不成立,則拋出 AssertionError 例外。
以下程式碼,示範使用 assert 函數,範例如下:
fun main() {
val x = 2
val y = 3
assert(x > 0)
assert(x < 0)
assert(x == 2) { "x 應該是 2" }
assert(x != 2) { "x 不應該是 2" }
assert(x + y == 5) { "x + y 應該等於 5" }
}
那這次的課程就介紹到這邊囉~
順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰