不久前在使用 guard 的時候,因為忘記加上 return,發生了常見的低級錯誤: 什麼!guard 一定要 return 喔,不能直接跳轉就好? 查看到彼得潘大大的討論文: 檢查條件是否成立,不成立就離開的 guard else
guard else 的語法和作用和 if else 很像,但卻有一些不同的地方,讓我們透過以下的 function motherSay 說明。medium.com else { } 的程式執行後,必須離開 guard 所在區塊,如此才不會繼續往下執行條件成立時要做的事。就像剛剛的例子,我們利用 return 離開 function motherSay。 奇怪,那怎麼不設計成 guard 的 else 中預設最後面就會自動 return,不需要 explicitly 寫出 return? 我想說查看一下 swift-evolution 有沒有關於這個設計理念的說明,果然被我找到了。