"guard"相比"if...else"可读性更强

//
//  guard.swift
//
//  Created by chenzhen on 16/7/30.
//  From 大连东软信息学院
//  Copyright © 2016年 zhen7216. All rights reserved.
//

import Foundation


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("这篇博客没有名字!")
    }
    
}


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)")
}


let blog1 = Blog(name: nil, URL: nil, Author: "Tom")
let blog2 = Blog(name: "chenzhen'blog", URL: "1229383755@qq.com", Author: "chenzhen")



guardLongStyleBlog(blog1)
print("*************************")
guardLongStyleBlog(blog2)

运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值