![](/img/trans.png)
[英]Swift How to use single guard let statement for multiple UITextField
[英]Are multiple lets in a guard statement the same as a single let?
以下是否有任何功能差異:
guard let foo = bar, let qux = taco else {
...
}
和:
guard let foo = bar, qux = taco else {
...
}
在我看來,他們是相同的,並不需要額外的let
?
這些在Swift 3中有所不同。在這種情況下:
guard let foo = bar, let qux = taco else {
你說'可選 - 解開foo吧。如果成功,可選擇將taco打包成qux。如果成功繼續。其他......“
另一方面這個:
guard let foo = bar, qux = taco else {
說“可選 - 展開到foo中。作為布爾值,評估分配語句qux = taco
”由於賦值語句不在Swift中返回布爾值,這是一個語法錯誤。
這種更改允許更靈活的guard
語句,因為您可以在整個鏈中混合可選的展開和布爾值。 在Swift 2.2中,您必須解開所有內容,然后在where
子句的末尾執行所有布爾檢查(這有時使得無法表達條件)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.