美文网首页
使用 guard 改善条件判断

使用 guard 改善条件判断

作者: 一个栗 | 来源:发表于2021-06-21 09:22 被阅读0次

guard

  • guard 语句,类似于 if 语句,基于布尔值表达式来执行语句。使用 guard 语句来要求一个条件必须是真才能执行 guard 语句之后的语句。与 if 语句不同,guard 语句总是有一个 else 分句 -- else 分句里的代码会在条件不为真的时候执行。


    guard 语句.png
  • 当编写条件语句的时候,左边的代码间距应该是一个“黄金”或者“快乐”的大道。这是说,不要嵌套 if 语句。多个 return 语句是 OK 的。这样可以避免圈复杂度,并且让代码更加容易阅读。因为你的方法的重要部分没有嵌套在分支上,你可以很清楚地找到相关的代码。
    guard 原因.png
    if 使用
func isIpAddress(ipAddr: String) -> (Int, String) {
    let compoments = ipAddr.split(separator: ".")
    if compoments.count == 4 {
        if let first = Int(compoments[0]),first >= 0 && first < 256 {
            if let second = Int(compoments[1]),second >= 0 && second < 256 {
                if let third = Int(compoments[2]),third >= 2 && third < 256 {
                    if let fourth = Int(compoments[3]),fourth >= 3 && fourth < 256 {
                        return (0, "")
                    } else {
                        return (4, "第四个数不对")
                    }
                } else {
                    return (3, "第三个数不对")
                }
            } else {
                return (2, "第二个数不对")
            }
        } else {
            return (1, "第一个数不对")
        }
    }
    return (100, "IP 只能有四部分")
}

guard 使用

func isIpAddress2(ipAddr: String) -> (Int, String) {
    let compoments = ipAddr.split(separator: ".")
    
    guard compoments.count == 4 else {
        return (100, "IP 只能有四部分")
    }
    
    guard let first = Int(compoments[0]),first >= 0 && first < 256 else {
        return (1, "第一个数不对")
    }
    
    guard let second = Int(compoments[1]),second >= 0 && second < 256 else {
        return (2, "第二个数不对")
    }
    
    guard let third = Int(compoments[2]),third >= 2 && third < 256 else {
        return (3, "第三个数不对")
    }
    
    guard let fourth = Int(compoments[3]),fourth >= 3 && fourth < 256 else {
        return (4, "第四个数不对")
    }
    
    return (0, "")
}

检查 API 可用性

  • Swift 拥有内置的对 API 可用性的检查功能,它能够确保你悲剧地使用了对部署目标不可用的API。
  • 你可以在 if 或者 guard 语句中使用一个可用性条件来有条件地执行代码,基于在运行时你想用的哪个 API 是可用的。
    API 检查一般形式
    检查 API 可用性.png

相关文章

  • 使用 guard 改善条件判断

    guard guard 语句,类似于 if 语句,基于布尔值表达式来执行语句。使用 guard 语句来要求一个条件...

  • 如何使用guard来改善条件判断

    guard guard语句,类似于 if 语句,基于 布尔值表达式来执行语句。使用 guard 语句来要求一个条件...

  • 使用 guard 来改善你的条件判断

    今天学了 极客时间 里 张杰 老师的 Swift,今天看的内容是 guard 关键字,说实话感觉暂时没有感觉出来它...

  • Swift guard

    guard guard 语句,类似于 if 语句,基于布尔值表达式来执行语句,使用 guard 语句来要求一个条件...

  • Swift-guard关键字

    1.guard关键字必须使用在函数中。2.guard关键字必须和else同时出现。3.guard关键字只有条件为f...

  • (快速入门)条件判断+循环+Map+Set

    条件判断 JavaScript使用if () { ... } else { ... }来进行条件判断。 多行条件判...

  • Swift guard 关键字 笔记

    guard 语句,类似于 if 语句,基于布尔值表达式来执行语句。使用 guard 语句来要求一个条件必须是真才能...

  • Swift 关键字 guard

    guard语句,类似于if语句,基于布尔值表达式来执行语句。 使用guard语句来要求一个条件必须是真才能...

  • guard 语句使代码更舒爽

    guard 语句,类似于 if 语句,基于布尔值表达式来执行语句。使用guard 语句来要求一个条件必须是 tru...

  • JavaScript 条件判断

    条件判断 JavaScript使用 if () { ... } else { ... } 来进行条件判断。例如,根...

网友评论

      本文标题:使用 guard 改善条件判断

      本文链接:https://www.haomeiwen.com/subject/whksyltx.html