왕논의 연구실

패스트캠퍼스 챌린지 7일차(수정) 본문

강의/강의 챌린지(iOS 앱 개발 올인원 패키지 Online)

패스트캠퍼스 챌린지 7일차(수정)

ywangnon 2021. 11. 7. 22:33

챌린지 7일차입니다.

 

플로우 컨트롤에 대해서 배웠습니다.

아직 초반이다보니 큰 문제는 어려운건 없습니다.

 

조건에 따라 분기하며 해당하는 코드를 실행합니다.

 

while

  • 조건에 만족하는 동안에는 계속 반복

기본형

 while 조건 {
   code...
 }
  • 조건 > 코드수행 > 조건 > 코드수행...

 

repeat while

 repeat {
   code...
 } while 조건
  • 코드수행 > 조건 > 코드수행 > 조건

 

두가지가 무슨 차이냐 생각할 수도 있겠지만, 코드를 실행하고 거르느냐 거르고 실행하냐에 따라 작업속도가 달라질 수 있습니다.

 

 

for 문은 반복문이다. 주어진 범위를 반복해서 돈다.

 for 변수 in 범위 where 조건 {
   code...
 }

위와 같은 형태이다. 이를 통해 조건을 달 수 있다.

만약 짝수의 경우는 1...10으로 하고 조건에 변수를 2로 나눠서 떨어지는 것이라고 하면 짝수만 돈다.

그리고 만약 변수가 필요없는 경우 _ 언더바를 사용하여 없앨 수 있다

 

반복문 넘기기

 for i in 0...5 {
   if i == 3 {
     continue
   }
 }
  • continue를 만나면 밑의 코드는 무시하고 다음 반복으로 넘어감

특정 조건에서 반복문을 실행하지 않게 할 수 있습니다. 위의 경우에는 3인 경우 그대로 넘어가고 4로 다시 반복문을 실행합니다.

 

 

중첩

 for i in 1...9 {
   for j in 1...9 {
     print("구구단 --> \(i) * \(j) = \(i * j)")
   }
 }

중첩으로 사용하는 반복문은 중첩할 수록 가독성과 성능을 떨어뜨린다

실습사진 1

 

switch

switch문은 케이스별로 처리방법을 정의한 구문이다.

모든 케이스에 대해 처리방법을 정해주어야하는데, 모든 처리방법을 작성하지 못할 경우 default에 기본적인 처리방법을 작성해야한다.

 

switch문을 사용하는 심화방법 중 하나가 튜플을 이용하는 것이다.

튜플은 관계가 있는 데이터끼리 묶어서 표현한 것이다.

 let coordinate = (x: 0, y: 10)
 ​
 switch coordinate {
   case (0, 0):
   print("원점입니다.")
   case (_, 0): // 2
   print("x축이네요")
   case (0, _): // 3
   print("y축이네요")
   default:
   print("좌표 어딘가...")
 }

위의 코드의 경우, 2와 3에서 한쪽을 _ 언더바 처리해서, 어떤 수라도 상관없다는 것을 표현했다.

또한, 튜플의 값을 받아서 처리하기 위해서 변수를 넣어주는 것이 가능하다.

 let coordinate = (x: 0, y: 10)
 ​
 switch coordinate {
   case (0, 0):
   print("원점입니다.")
   case (let x, 0):
   print("x축이네요. x: \(x)")
   case (0, let y):
   print("y축이네요". y: \(y))
   case (let x, let y) where x == y"
   print("x와 y의 값이 같음 x,y = \(x),\(y)")
   case (let x, let y):
   print("좌표 어딘가... x,y = \(x),\(y)")
 }

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지Online.