加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 多个让一个守卫声明和一个let一样吗?

发布时间:2020-12-14 05:28:16 所属栏目:百科 来源:网络整理
导读:以下是否有任何功能差异: guard let foo = bar,let qux = taco else { ...} 和: guard let foo = bar,qux = taco else { ...} 在我看来他们是一样的,不需要额外的让? 这些在Swift 3中有所不同.在这种情况下: guard let foo = bar,let qux = taco else {
以下是否有任何功能差异:
guard let foo = bar,let qux = taco else { 
  ...
}

和:

guard let foo = bar,qux = taco else {
  ...
}

在我看来他们是一样的,不需要额外的让?

这些在Swift 3中有所不同.在这种情况下:
guard let foo = bar,let qux = taco else {

你说’可选 – 解开foo吧.如果成功,可选择将taco打包成qux.如果成功继续.其他……“

另一方面这个:

guard let foo = bar,qux = taco else {

说“可选 – 解包进入foo.作为布尔值,评估分配语句qux = taco”由于赋值语句不返回Swift中的布尔值,这是一个语法错误.

此更改允许更灵活的保护语句,因为您可以在整个链中混合可选的展开和布尔值.在Swift 2.2中,您必须解开所有内容,然后在where子句的末尾执行所有布尔检查(这有时使得无法表达条件).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读