APPLE/Swift 문법

[ 기초 문법 ] guard

pandada 2022. 8. 19. 15:31
반응형

스위프트 기초 문법에 관련된 내용을 포스팅을 하면서 guard에 대한 내용은 이후에 언급을 한다고 작성했었다.

 

따라서 이번에는 guard 문에 대해서 알아보도록 하자.

 

guard

  • 뭔가를 검사하여 그 다음에 오는 코드를 실행할지 말지 결정하는 것
  • guard 문에 주어진 조건문이 거짓일 때에 구문이 실행된다.
  • 주로 guard문을 통해 특정 조건을 만족하지 않으면 이후 코드를 실행하지 않도록 방어 코드로 많이 사용한다.

 

guard 문에 대한 정의에 대해서 우선 알아봤다.

그럼 guard문의 사용 방법에 대해서 알아보도록 하자.

 

guard 조건 else {

조건이 false 이면 else 구문이 실행된다.

return or throw or break를 통해 이후 코드가 실행이 되지 않도록 한다.

}

 

사용 방법에 대해서 알아봤고 코드를 통해서 내용을 확인해보도록 하자.

 

< guard 문 TEST >

guard문을 통해서 함수에 받는 인자 number 가 0이 아닐 경우에는 함수를 return 하는 내용을 작성하였다.

따라서 처음에 guardTest(number : 0 )은 guard문을 통과하지 않아 Hello 라는 내용이 출력 된 것이고, guardTest(number : 1 )은 guard에서 else 부분으로 빠져서 retrun 되어 함수 자체가 끝났음으로 Hello 내용이 출력이 되지 않도록 만들었다.

 

그럼 이번에는 옵셔널 관련된 guard 문에 대한 추가 예제를 확인해보도록 하자.

 

< 옵셔널을 통한 guard 예제 >

guardTest2라는 옵셔널 함수 인자를 받는 함수를 만들었다.

guard 문에서 상수를 넘겨받아 해당 부분에서 상수가 옵셔널일 경우 else 쪽 부분이 실행이 되어 return 이 되도록 함수를 만들었다.

 

따라서 number 가 3으로 받을 경우에는 Hello 3이 출력이 되도록 진행을 했으며, 이후에 nil로 받았을 경우에는 실행이 안되는 것을 확인할 수 있었다.

 

또한 guard 문을 사용하면 옵셔널 바인딩된 상수를 조건문 범위 밖에서도 사용할 수 있다는 것 또한 확인을 할 수 있었다.

 

반응형

'APPLE > Swift 문법' 카테고리의 다른 글

[ 기초 문법 ] Extension  (0) 2022.08.22
[ 기초 문법 ] Protocol  (0) 2022.08.19
[ 기초 문법 ] Assert / Preconditions  (0) 2022.08.17
[ 기초 문법 ] 타입 캐스팅  (0) 2022.08.16
[ 기초 문법 ] 상속  (0) 2022.08.14