【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q
在 Kotlin 中,預先條件函數(Preconditions)是維持程式碼安全的關鍵。這些函數位於標準函式庫中,用於確保資料的有效性及防範錯誤。我們將介紹幾種常見的預先條件函數,幫助你更有效地確保程式的穩定性和可靠性。
checkNotNull
函數用於檢查參數是否為 null
。當傳入的參數為 null
時,此函數將拋出 IllegalStateException
例外,否則返回非空值。範例如下:
fun printLength(s: String?) {
val length = checkNotNull(s).length
println(length)
}
在這個範例中,了解如何使用 checkNotNull
函數,以確保參數 s
不為 null
。這樣我們可以安全地訪問 s
的 length
屬性。
require
函數用於確認特定條件是否成立。如果條件不符合,將拋出一個帶有錯誤訊息的例外。範例如下:
fun divide(a: Int, b: Int) {
require(b != 0) { "分母不能為 0" }
println(a / b)
}
在這個範例中,了解如何使用 require
函數來確保參數 b
不為零,以避免除以零的錯誤。
requireNotNull
函數用於檢查參數是否為 null
,若為 null
則拋出 IllegalArgumentException
。範例如下:
fun main() {
val name: String? = null
val nonNullName = requireNotNull(name) { "資料不能為空值" }
println(nonNullName)
}
在這個範例中,我們確保 name
不為 null
,否則將拋出帶有自訂錯誤訊息的例外。
assert
函數用於檢驗程式中的條件是否為真。若條件不成立,將拋出 AssertionError
例外。範例如下:
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" }
}
在這個範例中,了解 assert
函數如何用於驗證條件的真假。在實際程式中,assert
可以用來驗證輸入或中間結果是否符合預期。