Swift
Swift - if~let문 / guard~let문 비교
leebean
2021. 10. 4. 17:35
(인덕대학교 컴퓨터소프트웨어학과 iOS프로그래밍기초(21-2학기)한성현 교수님 강의 내용을 변형 및 요약 했습니다.)
지금 나오는 두 개의 소스 코드는 결과는 같지만 한쪽은 if~let문을 사용하였고 다른 한쪽은 guard~let을 사용했습니다.
(if~let)
func Nameprint(frontName:String, backName:String?){
if let same = backName{ //backName이 nil이 아닌 경우
print(same,frontName)
}
else{
print("성이 없습니다.")
}
}
Nameprint(frontName:"lee",backName:"dabean")
Nameprint(frontName:"lee",backName:nil)
//첫 번째 함수는 dabean lee 가 출력되고 두 번째 함수는 backName이 nil이기 때문에
//“성이 없습니다.” 로 출력됩니다.
(guard~let)
func Nameprint(frontName:String, backName:String?){
guard let same = backName else{//backName이 nil일 경우
print("성이 없습니다.")
return // early exit
}
print(same,frontName)
}
Nameprint(frontName:"lee",backName:"dabean")
Nameprint(frontName:"lee",backName:nil)
// if문을 사용했을 때와 결과는 같지만 if문은 조건이 참일 경우 실행되는 반면 guard문은
// 조건이 거짓일 경우 실행된다는 점이 다릅니다.