Swift
Swift - guard문
leebean
2021. 10. 4. 17:34
(인덕대학교 컴퓨터소프트웨어학과 iOS프로그래밍기초(21-2학기)한성현 교수님 강의 내용을 변형 및 요약 했습니다.)
guard 문
- if문 과 같이 조건식의 조건에 따라 코드를 실행하지만 if문과 다른점은 조건이 거짓일 경우 실행됩니다.
- guard문은 주로 특정 조건에 맞지 않을 경우에 현재의 함수나 반복문에서 빠져 나갈 수 있도록 '조기 출구' 전략을 제공 합니다.
- 함수 및 반복문 등 특정 블록 내부에 있으면 사용이 가능합니다.
- 언래핑된 guard문이 적용된 변수는 guard문 밖에서 사용할 수 있습니다.
- if문을 이용한 언래핑된 변수는 적용이 안됩니다.
(guard 문 예시 1)
var op1 = 10
while true{
guard op1 < 20 else{
// 조건(op1 < 20)이 거짓일 경우 실행
break
}
// 조건(op1 < 20)이 참일 경우 실행
op1 = op1 + 10
print(op1)
}
//결과
//20
(guard 문 예시 1)
func multiplay(value: Int?){
guard let number = value, number < 10 else{
//값이 있고 10보다 작은)이 거짓일 때 실행
print("수가 없거나 10보다 큽니다.")
return
}
print(number*5)
//조건식이 참일 때 실행
//number를 여기서도 사용 가능
}
multiplay(value : 3) // 조건이 참이기 때문에 3에 5를 곱한 값인 15가 출력됩니다.
multiplay(value : 15) // 조건이 10보다 크기 때문에 guard안에 있는 경고문이 출력됩니다.
multiplay(value : nil) // nil이기 때문에 guard안에 있는 경고문이 출력됩니다.