가드문(guard)

쏘스야·2023년 4월 3일
0

ios 개발자의 첫걸음

목록 보기
22/61
/**
 가드문(guard)
 if문과 유사하게 쓰이는 guard문
 guard : 감시하다.
 swift 의 if문 보다 편한 if문 느낌
 가독성이 좋음
 return 문이 필요함
 */

func checkNumbers1(password: String) -> Bool{
    if password.count >= 6 {
        
        // 로그인 처리 코드 작성
        
        return true
    }else{
        return false
    }
}

func checkNumbers2(password: String) -> Bool{
    // 감시하다 (else if를 먼저 실행한다라는 말과 비슷함)
    guard password.count >= 6 else { return false }// early exit
        
    //로그인 처리 코드 작성
    //이런식으로 맞으면 내려가서 결국 다맞으면 true로 리턴하고 아니면 false 로 간다.
//    guard true else {return false}
//    guard true else {return false}
//    guard true else {return false}
    
    return true
}

/**
  실제 프로젝트를 하면 빠르게 감이 옴.
 */


func check(words: String) -> Bool{
    guard words.count >= 5 else {
        print("5글자 이하입니다.")
        return false
    }
    print("\(words.count)글자입니다.")
    
    return true
}

check(words: "안녕하세요")
check(words: "헬로")

/**
 가드문 사용이유
 1. 가독성을 높임 / if문의 불편함을 해소
 2. 여러개의 옵셔널타입을 안전하게 벗기기 가능
    - code의 영역이 변경되지 않음(범위(Scope)에 대한 원칙에서 벗어나서 자유로운 코드작성)
    - guard 문에서 선언된 변수를 아래문장에서 사용 가능 (동일한 범위(Scope) 취급)
 */
profile
개발자

0개의 댓글