[Swift] 스위프트 기본문법#3 - 제어문

    이 글은 제가 앨런의 Swift 문법 강의를 듣고 작성한 글입니다!

     

    1. 반복문

    for

    for a in 1...10 {
    	print(a) // 1, 2, ..., 8, 9, 10
    }
    
    for b in (1...10).reversed() {
    	print(b) // 10, 9, ..., 3, 2, 1
    }
    
    for number in stride(from: 1, to: 15, by: 2) {
    	print(number) // 1, 3, 5, 7, 9, 11, 13, 15
    }

    여기서 stride는 '성큼 성큼 걷다'라는 의미를 가지고 있다.

     

     

    while

    var sum = 0
    
    while num <= 50 {
    	num += 1 // 0 ~ 50
    }

     

     

    repeat-while

    var i = 1
    
    repeat {
    	i += 1
    } while <= 9

    repeat-while 문은 while 문과 다르게 일단 한번 실행하고 나서, 조건을 판단해서 실행한다. 

     

     

    continue, break 키워드와 labeled

    OUTER: for i in 0...3 {
    	print("OUTER \(i)")
    	INNER: for j in 0...3 {
    		if i > 1 {
    			print(" j :", j)
    			break OUTER
    		}
    	}
    	print("  INNER \(j)")
    }

    위 코드에서 OUTER, INNDER처럼 레이블을 붙여 인접하지 않아도 제어가 가능하다.

     

     

    2. 스위치문

    switch a {
    case 1:
    	print(a)
    case 2:
    	fallthrough // 안녕하세요 실행
    case 3:
    	print("안녕하세요")
    default:
    	break
    }

    위 코드처럼 fallthrough 키워드를 통해 하나의 case문을 거친 뒤, 다음 case문의 내용을 이어서 실행할 수 있다.

     

    3. guard 문

    if문은 여러 개의 조건이 있으면 코드의 가독성이 떨어지는데, guard문을 사용하여 이 단점을 보완할 수 있다.

    func checkNumbersOf2(password: String) -> Bool {
    	guard password.count >= 6 else { return false }
    
    	// 로그인을 처리하는 code
    
    	return true
    }

    이처럼 함수에서 guard문을 쓰면 조건을 충족 못할 시에 조기종료(early exit)를 시킬 수 있다.

    댓글