Swift_제어 흐름

💀LeeSY·2021년 7월 21일
0
post-thumbnail

1. 스위프트 for-in

  • for-in 반복문은 어떤 컬렉션이나 숫자 범위에 포함된 일련의 항목들을 반복하는 데 사용되며, 사용하기 쉬운 반복문 옵션을 제공한다.

    for 상수명 in 컬렉션 또는 범위 {
    //실행될 코드
    }

  • 위 구문에서 상수명은 상수로 사용되는 이름으로, 반복문이 실행되는 컬렉션 또는 범위의 현재 항목을 담게 된다.

  • 컬렉션 또는 범위에 있는 항목들은 반복문을 통해 참조된다.

	for index in 1...5 {
    		print("Value of index is \(index)")
    	}
  • 위 반복문은 닫힌 범위 연산자를 이용하여 1에서부터 5까지의 숫자 범위로 반복할 것을 선언하고 있다.

  • 하지만 현재 항목에 대한 참조체를 저장하기 위해 상수명을 반드시 선언해야 하는 것은 아니다.

  • 현재 항목에 대한 참조체가 for 반복문 안에서 불필요하다면 _ 문자로 대체 가능하다.

	var cnt = 0
    
    	for _ in 1...5 {
    		//현재 값에 대한 참조체 불필요
       		cnt += 1
       	}

2. 스위프트 while 반복문

  • 어떤 조건에 만족할 때까지 반복해야 하는 코드가 있는데 그 조건을 충족할 때까지 몇 번을 반복해야 하는지를 알 수 없는 경우에 사용한다.
	var myCnt = 0

	while myCnt < 100 {
		myCnt += 1
	}
    	//while문이 myCnt 변수가 100보다 작은지를 평가.
    	//100보다 크다면 괄호 안의 코드를 건너뛰고 반복문 종료.

3. 스위프트 repeat ... while 반복문

  • do .. while문을 대체한 반복문이다.

  • 반복문 안의 코드가 언제나 적어도 한 번은 실행되야 하는 상황을 위해 사용된다.

	var i = 10

	repeat {
		i -= 1
	} while (i>0)
    	//i 변숫값이 0이 될 때까지 반복.

4. break

  • 현재 반복문에서 빠져나와 반복문 다음의 코드로 이동하여 실행하는 구문이다.
	var j = 10

	for _ in 0 ..< 100 {
		j += j
    
		if j > 100 {
	    		break
	    	}
	   	print("j = \(j)")
	}
	//j의 갑싱 100을 넘을 때까지 반복을 계속 수행.
	//100이 넘으면 반복문을 종료하고 반복문 다음 코드를 진행.

5. continue

  • 반복문의 나머지 코드를 건너뛰고 반복문의 처음으로 다시 돌아가는 구문이다.
	var i = 1

	while i < 20 {
		i += 1
		if (i%2)!= 0 {
	    		continue
	    	}
	    	print("i = \(i)")
	}
    	//i의 값을 2로 나눈 나머지가 있으면 print 호출을 건너뛴다.
        //Continue 구문이 실행되면 while 반복문의 시작 지점으로 돌아가서 다시 반복문 수행.

6. if 구문

  • 조건식이 true로 판단되면 구문 내의 코드가 실행된다.

  • 조건식이 false로 판단되면 구문 내의 코드는 건너뛴다.

	let x = 10

	 
    	//x가 9보다 크므로 콘솔에 print 메시지 출력.

7. if...else 구문

  • if 구문의 조건식이 false로 판단될 때 수행할 코드를 지정할 수 있게 해준다.
let x = 10       

if x > 9 {	
	print("x is greater than 9!")
} else {
    	print("x is less than 9!")
}

8. if...else if... 구문

	let x = 9

	if x == 10 {
		print("x is 10")
	} else if x == 9 {
		print("x is 9")
	} else if x == 8 {
		print("x is 8")
	}

9. guard

  • guard 구문은 불리언 표현식을 포함하며, true일 때만 guard 구문 다음에 위치한 코드가 실행된다.

  • 불리언 표현식이 false일 때 수행될 else 절을 반드시 포함해야 한다.

  • else 절의 코드는 반드시 현재의 코드 흐름에서 빠져나가는 구문을 포함해야 한다.

guard <조건문(불리언 표현식)> else {
	//조건문이 false일 때 실행될 코드
	//<종료 구문>
}
//조건문이 true일 때 실행될 코드
  • 기본적으로, guard 구문은 특정 조건을 만족하지 않은 경우에 현재의 함수 또는 반복문에서 빠져나올 수 있게 해준다.
	func mutipleByTen(value: Int?) {
		guard let number = value, number < 10 else {
		print("Number is too high")
		return
	}

	let result = number * 10
	print(result)
	}
  • 위 함수는 옵셔널 형태의 정숫값을 매개변수로 받고 있다. guard 구문은 값을 언래핑하기 위해 옵셔널 바인딩을 사용하며, 그 값이 10보다 작은지를 판단한다.

  • 값을 언래핑할 수 없거나 언래핑한 값이 9보다 큰 경우, else 절이 실행되어 에러 메시지를 출력하고 이 함수를 빠져나가기 위하여 return 구문을 실행한다.

  • 옵셔널이 10보다 작은 값을 가지고 있다면 guard 구문 다음에 있는 코드가 실행되어 그 값에 10을 곱한 결과가 출력된다.

  • 주의 : if 구문 내에서 언래핑된 변수는 if 구문 밖에서는 유효하지 않다!

profile
A little strange but passionate, sincere hard worker.

0개의 댓글