Swift中的逻辑分支

2017-10-19  本文已影响0人  Latte_Bear

简介

if逻辑分支

if let / var 连用语法

if letif var连用不是单纯的 if 语句,是赋值的同时判断对象是否为 nil,判断完之后{}内一定有值,可以直接使用不需要解包。如果判断对象为nil ,不执行 {}里的代码直接向下执行。以下代码演示:

guard let 守护语句

Swift2.0的时候推出了guard let守护语句,guard letif let 的功能正好相反。如果被guard let 守护的对象值为 nil 就执行 {} 里的代码,如果对象值不为 nil 就继续向下执行。以下代码演示:

   override func viewDidLoad() {
       super.viewDidLoad()
       demo()
   }
   func demo() {
      let memberName = "张三"
      let memberAge = 18
      guard let oName = memberName,
            let oAge = memberAge else {
             print("姓名或者年龄为nil")
             return
      }
      // 代码执行到这,oName 和 oAge 一定有值
     print(oName + "今年" + String(oAge) + "岁了")
   }

打印台输出结果:

guard let 输出结果
刚刚接触 guard let 的朋友也许会觉得奇怪,苹果为什么会设计这样一种奇葩的语法格式。之前我接触过的所有开发语言中都没有这样的先例,刚学习Swift的时候我也觉得奇怪,但用熟练了之后发现这样的设计方式真的很人性化,并且能很有效的缩短阅读代码的时间。
通常在做完判断是否有值之后,会做具体的逻辑判断,具体的逻辑通常代码量会很大,如果用 if let 就会凭空多出一层分支,guard let 可以有效的减少分支量。

三目

Switch逻辑分支

总结

上一篇 下一篇

猜你喜欢

热点阅读