Guard 문?

Ios_Roy·2022년 3월 24일
0

TIL

목록 보기
8/11
post-thumbnail

3.24(목)

제가 이해하고 공부 한대로 작성한 내용이다 보니 , 정확한 정보가 아닐수도 있습니다
고쳐야 할 부분이 있다면 , 편하게 애기 해주시면 감사 하겠습니다🙏🏻

guard문이란

guard 문은 뭔가를 검사하여 그 다음에 오는 코드들을 실행할지 말지 결정하는것, guard 문에 주어진 조건문이 거짓일 때, 여기에 달려 있는 코드블럭이 실행됩니다.
조건식에 이 함수가 수행하는데 필요한 조건을 그대로 나타낸다는 점에서 if문에서 부정적인 조건식으로 표현하는것보다 가독성이 높은 장점 있습니다.
if 문과 다르게 else를 항상 달아야 합니다.
아래 함수는 nil 입력을 가드함. 만일 입력이 nil이면 guard문은 else 절을 수행하고 다른 구문이 수행되기 전에 함수를 return함

guard 사용법

문법

guard " 조건 " else { 조건이 false 일 때 실행될 구문 }

사용 예시

// someValue 가 0이 아닐 경우에만 출력
guard someValue != 0 else { return }
print(someValue)

if 문과 비교

string을 전달받아 출력해주는 함수를 작성하는데
입력이 nil 로 들어오면 가드해버린다.

if 문 일 때

func printMessage(_ message: String?) {
	if message == nil { return }
   	print(message!) // 이미 nil 검사를 했음!
}
printMessage(string)

guard 문 일 때

func printMessage(_ message: String?) {
	guard message != nil else { return }
   	print(message!)
}
printMessage(string)

조건식에 이 함수가 수행하는데 필요한 조건을 그대로 적는다는 점에서 guard 구문은 코드를 분석할 때 if문에서 부정적인 조건식으로 검사하는 것보다 훨씬 가독성이 좋아진다.

⛺️ 문제점 / 고민한 점 / 느낀점

  • gurd문에 대해 모르던 개념을 한번더 이해를 했다 !
  • 집나간 개념을 찾아오고 있다
  • 모른는 개념을 조금더 집어가고 왜 라는 질문을 자주 던져 보자!!

⛺️ 참고 자료

profile
iOS 개발자 공부하는 Roy

0개의 댓글