斷言會在運行時判斷一個邏輯條件是否爲 true
。
如果條件判斷爲 true
,代碼運行會繼續進 行;
如果條件判斷爲 false
,代碼執行結束,你的應用被終止。
來看個觸發斷言示例
let age = -1
assert(age >= 1, "一個人的年齡必須大於0") // 因爲 age < 0,所以斷言會觸發
// assert(age > 0, "一個人的年齡必須大於0") // 因爲 age <= 0,所以斷言會觸發
如果你不需要斷言信息,可以這樣寫
let age = -1
assert(age >= 1) // 因爲 age < 0,所以斷言會觸發
以下爲可正常運行的代碼
let age = 60
assert(age >= 1, "一個人的年齡必須大於0") // 斷言不觸發,可正常運行後面的代碼
print("done")