guard分支结构

来源:互联网 发布:2016最新网络歌曲dj版 编辑:程序博客网 时间:2024/04/27 11:20

在Swift中,除了if、switch分支结构之外,又增加了一种分支结构——guard。

guard语句与if语句非常类似,可以判断一个条件为true情况下执行某语句,否则终止或跳过执行某语句。它的设计目的是替换复杂if-else语句的嵌套,提高程序的可读性,在某些情况下可以取得很好的效果。


guard的结构如下:

guard  条件表达式  else {

语句

  }

语句组

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


接下来看一个对比:(创建一个函数判断Blog结构体中的结构是否完整)

struct Blog {    let name: String?    let URL: String?    let Author: String?}func ifLongStyleBlog(blog: Blog) {    if let blogName = blog.name {        print("这篇博客名: \(blogName)")                if let blogAuthor = blog.Author {            print("这篇博客由\(blogAuthor)写的")                        if let blogURL = blog.URL {                print("这篇博客网址: \(blogURL)")            } else {                print("这篇博客没有网址!")            }        } else {            print("这篇博客没有作者!")        }    } else {        print("这篇博客没有名字!")    }} //if-else结构嵌套看起来非常的复杂且混乱,不便于阅读func guardlongStyleBlog(blog: Blog) {    guard let blogName = blog.name else {        print("这篇博客没有名字!")        return    }        print("这篇博客名: \(blogName)")        guard let blogAuthor = blog.Author else {        print("这篇博客没有作者!")        return    }        print("这篇博客由\(blogAuthor)写的")        guard let blogURL = blog.URL else {        print("这篇博客没有网址!")        return    }        print("这篇博客网址: \(blogURL)")} //可以清楚地看出guard大大地提高了程序的可读性


原创粉丝点击