閱讀989 返回首頁    go 技術社區[雲棲]


Swift學習之八:斷言(Assertions)

斷言(Assertions)

Optionals使得我們可以檢測值是否存在。在某些情況下,如果某個值不存在或者沒有提供特定的滿足條件,代碼不應該繼續往下執行。

在這些情況下,可以使用觸發斷言來終止執行並提供調試。

斷言是在運行時檢測條件是否為true,如果為true,就繼續往下執行,否則就在這裏中斷。

斷言對應的關鍵字是assert

如:

let age = 18
// 這裏age >= 18表示式的結果是true,所以這裏斷言什麼也不做,代碼繼續往下執行
assert(age >= 18, "A person'a age cannot be less than eighteen")
// 這裏由於 age >= 22表達式的結果是false,所以這裏就會出現中斷,打印出
// ""A person's age cannot be less than 22"
assert(age > 22, "A person's age cannot be less than 22")

什麼時候使用斷言呢?

包含下麵的情況時使用斷言:

1、整型下標索引作為值傳給自定義索引實現的參數時,但下標索引值不能太低也不能太高時,使用斷言

2、傳值給函數但如果這個傳過來的值無效時,函數就不能完成功能時,使用斷言。

3、Optional值當前為nil,但是後麵的代碼成功執行的條件是要求這個值不能為nil,使用斷言

最後更新:2017-04-03 07:57:23

  上一篇:go 為什麼要把jsp放在WEB-INF目錄下
  下一篇:go oracle 記錄被另一個用戶鎖住