not bad 한 개발

Swift - if~let문 / guard~let문 비교 본문

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문은 
// 조건이 거짓일 경우 실행된다는 점이 다릅니다.

'Swift' 카테고리의 다른 글

Swift - where절  (0) 2021.10.04
Swift - switch-case문  (0) 2021.10.04
Swift - guard문  (0) 2021.10.04
Swift - break / continue문  (0) 2021.10.02
Swift - repeat-while문  (0) 2021.10.02
Comments