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/

浙公网安备 33010602011771号