[ios/swift]Making Decisions(if,switch,guard)

감자맨·2022년 7월 30일
0

swift

목록 보기
3/14
post-thumbnail

📒📕 📗📘📙📚📖 swift 문법을 공부하자!📒📕 📗📘📙📚📖

조건문

조건문에서는 if 구문과 switch 구문을 이용한다.

if

let first: Int = 5
let second: Int = 4

if first > second{
    print("first > second")
}else if first == second{
    print("first == second")
}else {
    print("first < second")
}

else if는 몇개가 이어져도 상관 없으며 else 블록은 없어도 상관 없다. 맨위의 if문의 조건을 충족하지 않으면 다음 else if문의 명령을 실행하고, else if문의 조건을 충족하지 않으면 다음 else 문을 실행하게 된다.

switch

case 작성시 break 생략이 가능하다. case 내부의 코드를 모두 실행하면 break 없이도 switch 구문이 종료된다. switch 구문의 case를 연속 실행하려면 fallthrough키워드를 사용해야 한다.

switch 입력 값 {
case 비교 값1:
     실행 구문
case 비교 값2:
     실행 구문
     //이번 case를 마치고 switch 구문을 탈출하지 않는다. 아래 case로 넘어감.
     fallthrough
case 비교 값3, 비교 값4, 비교 값5:  // 한번에 여러 값과 비교 가능.
     실행 구문
     break  // break 키워드를 통한 종료는 선택 사항.
default:    // else-if와 같은 개념. 한전된 범위가 명확지 않다면 default는 필수.
     실행 구문     
}

case XXX: 다음에는 꼭 실행 가능한 코드가 위치해야 한다.

let stringValue: String = "Lian Neeson"

switch stringValue {
case "yoojin":
     print("She is yoojin")
case "Jay"   
     print("She is yoojin")
case "Jenny", "Joker", "Nova":
     print("He or She is \(stringValue)")
defalut:
     print("\(stringValue) said 'I don't know who you are'")
}
// Liam Neeson said  'I don't know who you are'

fallthrough 키워드 사용 예

switch 입력 값 {
    case 비교 값1
    //실행 구문
    case 비교 값2
    //실행 구문
    
    // 이 case를 마치고 switch 구문을 탈출하지 않음. 아래 case로 계속 진행
    fallthrough
    
    case 비교 값3, 비교 값4, 비교 값5 // 한 번에 여러 값과 비교 가능
    break // 탈출(종료)
    
    default : // 한정된 범위가 명확하지 않다면 default사용 필수
    
    //실행 구문
}

guard

guard 조건 else {
	//조건이 false면 실행
    return || throw
}

if 문에 비해 가독성이 좋다. 단, if 문과 다르게 else를 항상 달아야 한다.

for i in 0...3 {
	if i == 1 { print(i) }
    else { continue }
}

for i in 0...3 {
	guard i == 1 else { continue }
    print(i)
}

조건이 하나, 단순, 바인딩을 다른 값으로 처리하는 임시값 -> if

복잡한 조건 여러개 구현, 바인딩한 값을 동일한 스코프 처리 -> Guard

profile
나는 코딩하는 감자다!

0개의 댓글