Swift条件判断中的逗号

Swift语言中,Bool值是用来进行条件判断的,可以进行&&以及||的操作,从而实现多个表达式共同判断。
但是由于Swift中存在可选项绑定,或者说是用let展开可选项的原因,有些地方条件判断中不能够使用&&来进行处理。比如,我们要在变量hasValue确实有值,且参数个数paramCount大于0的时候,执行代码,一般我们可以这样写:

  if hasValue != nil && paramCount > 0 {
    ...
  }

但是如果我们在后续代码中中要使用hasValue的值的话,就不能够只判断hasValue是否为nil了,而应该使用可选项绑定把值给读出来,也就是下面的代码:

  if let hasValue = hasValue {
    if paramCount > 0 {
      ...
    }
  }

由于let hasValue = hasValue并不会返回一个Bool值,导致两个条件不能够使用&&进行判断,这个时候,我们就要使用所谓的逗号了,也就是可以写成:

  if let hasValue = hasValue, paramCount > 0 {
    ...
  }

这个样子就可以满足我们的需求,代码逼着上面的代码少了一层判断,看起来会更加友好。特别是当我们需要可选项绑定多个变量时,这样写会更加的方便。如:

  if let a = a, let b = b, let c = c, let d = d, e < 0, f > 0 {
    ...
  }

如果不使用,进行分割,而是一个个判断的话,将会进入多重判断的坑里,让代码臃肿不堪。

总的来说,条件判断中逗号的作用类似于&&,但是它除了连接Bool值,也可以用来连接可选项绑定的判断。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于 Swift 重要这个文档所包含的准备信息, 是关于开发的 API 和技术的。这个信息可能会改变, 根据这个文...
    无沣阅读 4,372评论 1 27
  • Swift 是一门开发 iOS, macOS, watchOS 和 tvOS 应用的新语言。然而,如果你有 C 或...
    XLsn0w阅读 930评论 2 1
  • 86.复合 Cases 共享相同代码块的多个switch 分支 分支可以合并, 写在分支后用逗号分开。如果任何模式...
    无沣阅读 1,412评论 1 5
  • 苦涩的 毕业了,你还不行动吗 毕业季,现在应届生们坐在一起讨(tu)论(cao)的,都是自己的新单位,和职场上那些...
    编程那些事阅读 264评论 0 0
  • 脾气这东西 来去无影 有时是有有因而出 有时却是莫名的 倘若别人不遂你意 脾气也就来了 若别人此刻还摸不清你的小心...
    米奇山羊阅读 191评论 0 0