Swift

[Swift] guard vs if

devharrry 2018. 4. 27. 17:10

프로그래밍을 하다보면 조건문은 종종 depth 길어져 복잡도를 높이는 원인이 되곤 합니다. 


이러한 문제점을 피하기 위해 Swift 2.0에서 guard 등장했습니다. 


guard vs if 


guard문은 후속 코드들이 실행되기 전에 특정 조건을 만족하는지 확인하는 용도로 사용합니다. 

else블록에는 이후의 코드 진행을 막는 return, break 삽입되어야 하고 주로실행 흐름을 종료하기 위한 목적으로 주로 사용합니다.


반면에 if문은 조건이 참인 경우에 후속 코드를 실행하지 않는 코드가 삽입되어야 합니다. 


옵셔널 바인딩시 차이점


guard, if문과 옵셔널 바인딩할 때의 차이점은 바인딩을 하는 변수와 상수의 scope입니다.