[Swift] 반복문과 조건문

Kiwi·2024년 2월 26일

Swift

목록 보기
2/21
post-thumbnail

📁 반복문

🥑 for-in

배열에 아이템, 범위의 숫자, 또는 문자열에 문자와 같은 연속된 것에 대해 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 루프문

while문은 특정 조건이 만족하는 동안 내부로직을 게속해서 실행하는 반복문이다. 조건이 false 가 될 때까지 구문을 수행한다. 종결 조건을 정해주지 않으면 무한루프가 생길 위험성이 있다.

while counts.count > 1 {
	counts.removeLast()
}

🥑 repeat-while

while과 유사하게 생겼지만 repeat-while 은 루프가 끝날 때 마다 조건을 비교하낟. c언어에서의 do-while 구문과 형태 및 동작이 유사하다.

repeat {
	/*실행구문*/
}while 조건



📁 조건문

🥑 if

가장 간단한 형식으로 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

주로 조건이 충족되지 않는 경우 특정 코드 블록에서 빠르게 리턴하고자 할때 사용된다. 일반적으로 옵셔널 바인딩과 함께 사용된다.

guard condition else {
    // 조건이 충족되지 않을 때 실행할 코드
    // 조건이 충족되지 않을 경우 빠르게 함수를 종료하거나 에러를 처리
    // return, throw, break 등을 사용하여 함수의 실행을 중단
}
guard let input = userInput else {
        print("유효하지 않은 입력입니다.")
        return
}

🥑 switch

값을 고려하고 가능한 여러개의 일치 패턴과 비교한다. 그런 다음 첫번째로 일치하는 패턴을 기반으로 적절한 코드 블럭을 실행한다. 여러 가지 경우(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 구문 전체가 끝난다.


애플공식문서

profile
🐣 iOS Developer

4개의 댓글

comment-user-thumbnail
2024년 2월 26일

지연님 TIL 잘 봤습니다. 오늘도 고생하셨습니다! 내일도 힘내봐요!

1개의 답글
comment-user-thumbnail
2024년 2월 26일

빠이팅 입니다 :)

1개의 답글