Swift guard 关键字
参考:https://www.cnblogs.com/edensyd/p/9566979.html
guard expression else { //语句 //必须包含一个控制语句:return,break,continue或throw。 } 这里,expression是一个布尔表达式(返回true或者false)。 如果对表达式求值false,guard则执行代码块内的语句。 如果对表达式求值true,guard则从执行中跳过代码块内的语句
为啥有if ... else ... 还要用guard ?
class CloseRange { let start: Int let end: Int init?(startValue: Int , endValue: Int) { guard startValue < endValue else { print("结束值\(endValue) 应大于 起始值\(startValue)") return nil } self.start = startValue self.end = endValue } } let customRange = CloseRange(startValue: 3, endValue: 5) if let customRange = customRange { print("第一个对象的起始值是:\(customRange.start)") } let customRange2 = CloseRange (startValue: 5, endValue: 3) if let customRange = customRange2 { print("第二个对象的起始值是:\(customRange.start)") }else{ print("第二个对象是空对象"); } 打印: 结束值3 应大于 起始值5 第二个对象是空对象
此文仅为鄙人学习笔记之用,朋友你来了,如有不明白或者建议又或者想给我指点一二,请私信我。liuw_flexi@163.com/QQ群:582039935.
我的gitHub: (学习代码都在gitHub)
https://github.com/nwgdegitHub/