guard 구문과 if 구문
guard 구문은 if 구문과 마찬가지로 주어진 표현식의 결과가 참인지 거짓인지에 따라 구문의 실행 여부를 결정짓는 방식의 조건문이다.
하지만 guard 구문에는 else 블록이 필수이지만, 표현식의 결과가 참일 때 실행되는 블록이 없다.
특정 조건을 만족하지 않은 채로 후속 코드를 실행하면 심각한 오류가 발생할 경우에 전체 구문을 조기 종료(Early Exit) 하기 위한 목적으로 사용된다.
if 로도 충분히 구현이 가능한데 왜 굳이 guard 라는 문법을 만들었고, 이를 사용할까?
guard 구문은 본래 실행 흐름을 종료하기 위한 목적으로 사용되는 구문이기 때문에, 코드를 중첩해서 사용하지 않아도 된다는 장점이 있다. guard 문을 많이 사용해도 코드의 깊이가 깊어지지 않기 때문에 전체 코드에 대한 가독성을 매우 높여주고, 단순하게 만들어준다.
따라서 조건을 체크하여 실행 흐름을 종료시킬 때에는 가급적 guard 구문을 사용하는 것이 좋다.
' iOS > 문법' 카테고리의 다른 글
조건적 구문 - switch (0) | 2022.11.17 |
---|---|
배열 구조체는 언제 메모리 할당될까? (선언 시 vs 초기화 시) (0) | 2022.09.15 |
콜렉션 타입(Collection Type) - 배열, Set, Dictionary (0) | 2022.09.05 |
문자열과 문자(Strings & Characters) (0) | 2022.09.05 |
기본 연산자(Basic Operators) (0) | 2022.09.05 |