Swift

Swift | 제어 전달문 - break / continue / fallthrough / return

ziziDev 2024. 5. 10. 14:48
반응형

안녕하세요!

오늘은 제어 전달문인

 

제어 전달문

 

 

break

continue

fallthrough

return

에 관하여 알아보고자 합니다

 

 

break

 

break  구문은 switch 구문에서 실행 흐름이나 반복 실행 중인 루프를

조건식의 결과에 상관없이 즉시 종료 합니다

 

switch 구문에서

개별 case 블록에 사용되어 전체 switch 구문의 실행을 종료하는 역할을 합니다

 

for(반복문) 에서

반복 실행 블록에 사용되어 조건식이 false를 반환하기 전에 미리 반복문을 종료하는 역할을 합니다

 

둘다 종료라는 말이 나오니

간단히 말해

break를 마주치면

빠져나오구나라고 이해하시면 된답니다

 

우선 for문에서 사용하는 break문은

for문에서 break를 만나게되면 즉시 종료되어

1

2

출력되는걸 확인할 수 있습니다

 

 

 

switch문에서 사용하는 break문을 확인하면

 

switch에서

해당 부합하는 case에 들어갔을 때

break가 있다면

switch문을 종료하게 됩니다

 

마지막으로 중첩된 for문에서도 확인할 수 있답니다 :)

 

내부에 break를 넣어도 즉시 전체 for문이 종료됩니다

일부 사람들은 건너뛰고 다음 숫자를 실행한다고 생각할 수 있지만 

전체 for문이 즉시 종료되는걸 볼 수 있습니다

 

why??...

outerLoop를 빠져나와라는 명령문이랍니다!

 

outerLoop는 for i in 1...3의 명칭이라고 생각하시면 됩니다!

outerLoop == for i in 1...3

 

만약 그냥 break였으면

결과값은 다릅니다~!

 

 

 

 

continue

break 구문에 필요에 따라 강제로 실행 흐름을 종료했다면

continue 구문은 현재 실행 구문을 건너뛰고 다음 반복을 시작합니다

종료와는 다른 개념이랍니다

만약 1...10이 있다면

3에서 break를 건다면

1,2만 출력되겠지만

 

cotinue를 만나게된다면

1,2,4,5....10

즉 3빼고 출력이 된답니다

 

continue도 2중 for문안에 쓰면 어떻게 될까요??

 

 

3이 출력이 안되는걸 볼 수 있습니다

 

 

이렇게 위치만 조금 변경했을 뿐인데도 출력값이 바뀌는걸 확인할 수 있습니다

outerLoop를 만나면서 아예 j의 값이 올라가버리는걸 볼 수 있습니다

그래서 출력을 할 수 없기 때문에

(1,2)도 출력이 안되는걸 볼 수 있습니다

 

 

그리고 continue 옆에 외부 for문을 건너 뛸건지 유무도

결과값이 달라지는걸 알 수 있답니다

 

 

fallthrough

 

fallthrough는

저번 조건문에서 설명하였으므로

 

url로 대체하겠습니다 :)

 

간단히 이야기하자면 switch문에서 사용이되며

fallthrough를 만나게되면 조건에 부합하지 않아도 다음에 실행하게 된답니다

https://ios2080dev.tistory.com/9

 

Swift | 조건문에 관하여 - if / swift / guard

안녕하세요 !! 오늘은 조건문에 대해서 알아보고자 합니다크게 조건문은  ifguard switch 이루어져 있답니다 우선 if문에 대해서 알아보고자 합니다 :0 if 이미지 하나만 보고 이해하면 끝입니

ios2080dev.tistory.com

 

 

조건에 부합하지 않아도 fallthrough를 보게되면

다음 케이스를 즉시 실행하게됩니다

 

 

return 

return은 정말 여러곳에서 활용을 많이 한다고 생각하는데요

 

break문과 비슷하게 조기 종료나 반복문을 종료라기보다 탈출할 때 사용한답니다

 

값을 반환할 때 쓰입니다

 

나중에 사용할 함수(메서드)에서 매개변수값을 활용하여 반환값을 반환할 때 사용한답니다

코드를 통해서 확인!

 

 

이렇게 값을 반환을 해줍니다

정수뿐만 아니라

자료형에 따라 내가 어떤식으로 코드를 짜는지에 따라서 다양한 자료형이 반환값으로

나올 수 있답니다

 

void반환

반환값이 없을 때 사용합니다

 

조기종료

 

함수나 메서드 실행 중간에 조건을 걸어 실행을 중단하고 값을 반환할 수가 있답니다

guard문과 함께 사용한 예제를 작성해보았습니다 :)

 

값이 0이면 else문으로 빠져서 nil을 반환하도록 설계했습니다

 

반복문 탈출

 

특정 조건을 만족할 때 반복을 중지하고 함수를 빠져나올 수 있답니다

 

 

이렇게 다양한 코드에 제어를 걸 수 있는 제어문을 알아보았습니다

 

만약 설명이 부족하거나 잘못된 점이 있다면 꼭 댓글로 알려주시면 감사하겠습니다!

 

반응형