배열에 아이템, 범위의 숫자, 또는 문자열에 문자와 같은 연속된 것에 대해 for-in 루프를 사용하여 반복할 수 있다. for-in은 콜렉션 타입에서 효과적으로 사용할 수 있는 반복문이다.
for item in collections {
/*실행구문*/
}
딕셔너리의 경우에는 iteration item으로 튜플이라는 타입이 들어온다.
var counts = [1, 2, 3]
let ppl = ["amy" : 10, "ben" : 50, "cavin": 100]
for count in counts{
print(count)
}
for (name, score) in ppl {
print("\(name): \(age)"
while문은 특정 조건이 만족하는 동안 내부로직을 게속해서 실행하는 반복문이다. 조건이 false 가 될 때까지 구문을 수행한다. 종결 조건을 정해주지 않으면 무한루프가 생길 위험성이 있다.
while counts.count > 1 {
counts.removeLast()
}
while과 유사하게 생겼지만 repeat-while 은 루프가 끝날 때 마다 조건을 비교하낟. c언어에서의 do-while 구문과 형태 및 동작이 유사하다.
repeat {
/*실행구문*/
}while 조건
가장 간단한 형식으로 if 구문은 단일 조건을 갖는다. 조건이 참일때 코드 블록을 실행한다. if 문은 단독으로 사용이 가능하지만 if 조건이 false일 때 그 밖의 다른 구문(else if, else)와 함께 사용할 수 있다.
let number = 10
if number > 0 {
print("양수입니다.")
} else if number < 0 {
print("음수입니다.")
} else {
print("0입니다.")
}
위의 코드에서 먼저 if 조건을 검정한 다음 조건이 false이면 else조건을 체크하러 내려간다. 만약 if조건이 true라면 이후의 조건은 체크하지 않고 건너뛴다.
주로 조건이 충족되지 않는 경우 특정 코드 블록에서 빠르게 리턴하고자 할때 사용된다. 일반적으로 옵셔널 바인딩과 함께 사용된다.
guard condition else {
// 조건이 충족되지 않을 때 실행할 코드
// 조건이 충족되지 않을 경우 빠르게 함수를 종료하거나 에러를 처리
// return, throw, break 등을 사용하여 함수의 실행을 중단
}
guard let input = userInput else {
print("유효하지 않은 입력입니다.")
return
}
값을 고려하고 가능한 여러개의 일치 패턴과 비교한다. 그런 다음 첫번째로 일치하는 패턴을 기반으로 적절한 코드 블럭을 실행한다. 여러 가지 경우(case)를 고려하여 다양한 조건을 검사할 때 사용된다. 각 경우는 일치하는 패턴을 기반으로 실행된다. 모든 경우에 대한 처리를 보장하려면 default 케이스를 사용할 수 있다.
let someCharacter: Character = "z"
switch someCharacter {
case "a":
print("The first letter of the Latin alphabet")
case "z":
print("The last letter of the Latin alphabet")
default:
print("Some other character")
}
switch 구문도 if와 마찬가지로 break 구문 요청 없이 처음 일치하는 switch 케이스가 완료되자마자 switch 구문 전체가 끝난다.
지연님 TIL 잘 봤습니다. 오늘도 고생하셨습니다! 내일도 힘내봐요!