知识卡片
guard 语句的提前退出设计
内容
guard 语句的判断方向和 if 相反:条件为 false 时才执行花括号里的代码,且这段代码必须以 return/break/continue 等方式跳出当前作用域,不允许”执行完继续往下走”。这样写的好处是把”账号为空就提前返回”“密码不对就提前返回”这类校验平铺在函数开头,函数主体不需要靠层层嵌套的 if 把正常逻辑包在最深处,读代码时按顺序看下来就是一串前置条件加最终的主逻辑,而不必在脑子里维护多层缩进的分支状态。发散:这和很多语言里提倡的”early return”风格是同一个思路,guard 只是把这种风格用语法强制了下来。
参考来源
《Swift全解析:新式iOS实战开发》第6章《Swift控制流》