Swift는 다양한 제어 흐름(Control flow) 구문을 제공합니다.
이것은 여러번 작업을 수행하는 while 루프를 포함하고 조건에 따라 다르게 실행되는 if, guard, switch 구문과 코드에서 다른 포인트로 실행 플로우를 전달하는 break 와 continue를 포함합니다.
Swift는 배열, 딕셔너리, 범위, 문자열, 그리고 다른 연속적인 것에 대한 반복을 쉽게 만들어 주는 for-in 루프를 제공합니다.
Swift는 또한 현재 범위를 벗어날 때 수행되는 코드인 defer 구문을 제공합니다.
Swift의 switch 구문은 C와 같은 언어들의 구문보다 훨씬 더 강력합니다.
케이스들은 간격 매치, 튜플, 그리고 특정 타입으로의 캐스트를 포함하여 다른 많은 패턴을 비교할 수 있습니다.
switch 케이스에서 매치된 값은 케이스 문 안에서 사용할 수 있는 임시의 상수 또는 변수로 사용이 가능하고 복잡한 매칭 조건은 각 케이스에 대해 where 절로 표현될 수 있습니다.
배열에 아이템, 범위의 숫자, 또는 문자열에 문자와 같은 연속된 것에 대해 for-in 루프를 사용하여 반복할 수 있습니다.
아래의 코드를 봐봅시다.
let names = ["Anna", "Alex", "Brian", "Jack"]
for name in names {
print("Hello, \\(name)!")
}
// Hello, Anna!
// Hello, Alex!
// Hello, Brian!
// Hello, Jack!
위 코드는 for-in 루프를 사용하여 배열의 아이템을 반복하여 출력하는 코드입니다🙂
딕셔너리의 키-값 쌍 접근을 위해 반복을 사용할 수도 있습니다.