加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift guard 用法及特点

发布时间:2020-12-14 06:42:41 所属栏目:百科 来源:网络整理
导读:guard 的使用 1.guard 是 Swift2.0 新增的语法 2. 它与 if 语句非常类似,它设计的目的是提高程序的可读性 3.guard 语句必须带有 else 语句,它的语法如下: 3.1. 当条件表达式为 true 的时候跳过 else 语句中的内容,执行语句组内容 3.2. 条件表达式为 fals

guard 的使用

1.guard Swift2.0新增的语法

2.它与 if语句非常类似,它设计的目的是提高程序的可读性

3.guard 语句必须带有 else语句,它的语法如下:

3.1.当条件表达式为 true的时候跳过 else 语句中的内容,执行语句组内容

3.2.条件表达式为 false的时候执行 else语句中的内容,跳转语句一般是 return,break,continue throw


guard 用法举例

以下举例说明其中的区别:

需求:判断一个用户名是否是联通号,开发中用户名验证的过程,分以下几步:

1,用户名不能为 null

2,用户名必须是手机号码

3,用户名是 186开头的手机号


if ... else 示例

//: Playground - noun: a place where people can play

import UIKit

func isUserName(username : String){
    if username != nil {
        
        if isPhoneNumber(username: username) {
            if isUnicom(username: username){
                print("手机号是联通号码!")
            }else{
                print("手机号不是联通号码!")
            }
        }else{
            print("用户名不是手机号!")
        }
    }else{
        print("用户名为空!")

    }
}

func  isPhoneNumber (username : String) -> Bool{
    //判断是否是手机号码,代码略
    return true
}

func isUnicom(username :String) -> Bool{
    //判断是否是联通号码,代码略
    return true
}

isUserName(username : "18600000000")


guard 用法示例


//guard 用法比较条理,代码可读性较强

func isUserNameGuard( username : String) -> Void{
    
    guard username != nil else {
        print("用户名为空!")
        return
    }
    
    guard isPhoneNumber(username : username) else {
        print("用户名不是手机号!")
        return
    }
    
    guard isUnicom(username: username) else {
         print("手机号不是联通号码!")
        return
    }
    
    print("手机号是联通号码!")
}

func  isPhoneNumber (username : String) -> Bool{
    //判断是否是手机号码,代码略
    return true
}

func isUnicom(username :String) -> Bool{
    //判断是否是联通号码,代码略
    return true
}

isUserNameGuard(username: "18600000000")

通过对比,可以看出,使用 guard 可以增进代码的阅读性。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读