以下是否有任何功能差异:
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子句的末尾执行所有布尔检查(这有时使得无法表达条件).
原文地址:https://www.jb51.cc/swift/319294.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。