swift之guard用法

guard是什么?
1.guard是 swift 2.0推出的新的判斷語句的用法。guard語句和if語句類似,都是根據關鍵字之后的表達式的布爾值決定下一步執行什么。和if語句不同的是,guard語句只有一個代碼塊,
而if語句可有多個代碼塊。(如 if 、else if、 else)
2.那么guard到底是什么作用呢?顧名思義,guard是作為保衛作用而存在的。當你不滿足我的要求,那么請您出去;如果滿足,則執行下一步操作。
guard與if相比好在哪里
1.guard可以把不符合條件的處理事件前置,以免程序猿在開發中有遺漏的情況出現。
2.guard還可以減少條件語句中的嵌套數量,使代碼更簡潔易讀。

例子:
傳統if-else方式

func nonguardSubmit() {
    if let name = nameField.text {
        if let address = addressField.text {
            if let phone = phoneField.text {
                sendToServer(name, address: address, phone: phone)
            } else {
                show("no phone to submit")
            }
        } else {
            show("no address to submit")
        }
    } else {
        show("no name to submit")
    }
}

guard方式:

func submit() {
    guard let name = nameField.text else {
        show("No name to submit")
        return
    }

    guard let address = addressField.text else {
        show("No address to submit")
        return
    }

    guard let phone = phoneField.text else {
        show("No phone to submit")
        return
    }

    sendToServer(name, address: address, phone: phone)
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容