728x90
반응형
일반적으로 언어가 작성되고 실행되는 순서 및 방향들(흐름)을 제어하는 것을
흐름 제어 구문, 흐름 제어문, 제어 흐름 여러가지로 부르는데,
필자는 흐름 제어 구문으로 칭하겠다.
흐름 제어 구문의 종류에는 여러가지가 있는데
일반적으로는 다음의 세가지를 일컫는다.
• 반복문(Loop Statements)
• 조건문(Conditional Statements)
• 제어 전달문(Control Transfer Statements)
이중 제어 전달문에 대해 알아보자.
제어 전달문
혼자서는 못쓰고 다른 구문들과 함께 쓰며 흐름을 바꿀 때 사용되는 구문이다.
아래를 보면 바로 어떤건지, 무슨말인지 이해가 될 것이다.
• break
• continue
• fallthrough
• return
이 네가지가 제어전달문이다.
break
break
가 들어간, 실행 되고있는 반복문을 탈출할 때 쓴다.
var a = 1
while true {
if a == 1 {
break
}
}//while문을 탈출한다.
return
각종 구문 블럭에서 실행되면 해당 블럭을 종료시키는건 break
와 같다.
하지만 return
의 경우에는 함수를 탈출할 때 쓴다.
이때 탈출하면서 값을 반환한다.
//예시 다음과 같은 for문이 함수 안에 있다고 가정하자.
for i in 1...5 {
if i == 4 {
return 0
}
}// i가 4가 되면 0을 반환하며 for문이 종료되며 해당 함수가 아예 종료가 되고 0을 반환한다.
continue
continue
다음에 존재하는 구문들은 전부 스킵하고 넘어간다. break와는 다르게 탈출하진 않는다.
for i in 1...5 {
if (i == 1) {
continue
} else if (i == 4){
break
}
print("여기")
}
/*
* 실행 결과
* 여기
* 여기
*
* continue 때문에 맨처음에는 그냥 넘어가고
* 두번째와 세번째만 print가 실행된다.
*/
fallthrough
조건문의 switch
에서 나왔기 때문에 간단하게 설명하자면
다른 언어의 switch
에서는 암묵적으로 각 case문을 내용없이 연달아 쓰면 연속적으로 실행되나
스위프트는 명시적으로 fallthrough를 써줘야 연달아 실행된다.
var value = 3
switch value {
case 3:
fallthrough
case 2:
fallthrough
case 1:
fallthrough
default :
print("aaa")
}
/*
* 실행 결과
* aaa
*
* fallthrough 때문에 연달아 넘어가서 default까지 간다.
*/
스위프트 문법 - 제어 전달문, swift
728x90
반응형
'공부 > Apple' 카테고리의 다른 글
[스위프트] 집합(Set) 사용법 & 예시 (0) | 2023.07.07 |
---|---|
[스위프트] 배열(Arrays) 사용법 & 예시 (0) | 2023.07.03 |
[스위프트] 조건문(if, guard, switch) 종류와 사용법 (0) | 2023.07.03 |
[스위프트] 반복문(for ~ in, while, repeat ~ while) 종류와 사용법 (0) | 2023.07.02 |
[스위프트] 비트 연산자 종류와 사용법 (0) | 2023.07.02 |