// assert
var value = 0
assert(value == 0)
value = 2
assert(value == 0, "값이 0이 아닙니다.")
Assertion failed: 값이 0이 아닙니다.
// guard
/*
guard 조건 else {
// 조건이 false면 else 구문이 실행되고
return or throw or break를 통해 이후 코드를 실행하지 않도록 만든다.
}
*/
func guardTest(value : Int) {
guard value == 0 else {return} // value가 0이 아닐 경우 코드 종료
print("안녕하세요")
}
guardTest(value: 0) // 안녕하세요
guardTest(value : 2) // 아무 일도 없었다..
func guardTest2(value : Int?) {
guard let value = value else {return} // value가 0이 아닐 경우 코드 종료
print(value)
}
guardTest2(value : 2) // 2
guardTest(value : nil) // 함수가 종료,
guard문을 활용하면 옵셔널 바인딩된 상수를 조건문 범위 바깥에서도 사용할 수 있다.