美文网首页
swift语法 guard 提前退出

swift语法 guard 提前退出

作者: 我阿郑 | 来源:发表于2022-01-29 21:03 被阅读0次

    像 if 语句一样,guard 的执行取决于一个表达式的布尔值。我们可以使用 guard 语句来要求条件必须为真时,以执行 guard 语句后的代码。不同于 if 语句,一个 guard 语句总是有一个 else 从句,如果条件不为真则执行 else 从句中的代码。

    func greet(person: [String: String]) {
        guard let name = person["name"] else {
            return
        }
    
        print("Hello \(name)!")
    
        guard let location = person["location"] else {
            print("I hope the weather is nice near you.")
            return
        }
    
        print("I hope the weather is nice in \(location).")
    }
    

    person["name"] 为空时 就会进入guard语句的else从句执行return

    再比如下面的写法:

    public func unusedFiles() throws -> [FileInfo] {
           guard !resourceExtensions.isEmpty else {
                throw FengNiaoError.noResourceExtension
            }
            guard !searchInFileExtensions.isEmpty else {
                throw FengNiaoError.noFileExtension
            }
    
            let allResources = allResourceFiles()
            let usedNames = allUsedStringNames()
            
            return FengNiao.filterUnused(from: allResources, used: usedNames).map( FileInfo.init )
    }
    

    resourceExtensions.isEmptytrue时就会进入 else从句执行 throw Error

    相关文章

      网友评论

          本文标题:swift语法 guard 提前退出

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