티스토리 뷰

Swift/야곰의 스위프트

6장 흐름 제어

할루루 2018. 1. 29. 20:19

[조건문 - if문]


- if문의 조건은 무조건 Bool 타입이어야 함



[조건문 - switch문]


- break 키워드를 사용해도 사용하지 않아도 됨

fallthrough 키워드를 사용하면 case를 연속 실행할 수 있음

- 조건에 다양한 값이 들어갈 수 있음

- 조건에 열거형과 같이 명확히 한정적인 값이 들어가지 않으면 default를 반드시 작성해야 함

- 각 case에 범위 연산자를 사용할 수 있음

- 각 case에 여러 경우를 적을 수 있음. 쉼표로 구분

- 각 경우 다음에는 반드시 실행 가능한 코드가 위치해야 함

- where절을 사용하여 조건을 확장할 수 있음


1
2
3
4
5
6
7
8
9
10
11
let tuple: (StringInt= ("Hi"13)
switch(("Hi"12)){
case ("Hi"13):
    print("Correct")
case ("Hi"let value):
    print("String Correct \(value)")
case (let value, 13):
    print("Int Correct \(value)")
default:
    print("False")
}

cs


위의 코드는 값 바인딩을 사용하여 지정된 조건 이외의 값을 실행문 안으로 가져와서 사용함

결과 : String Correct 12


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
let name: String = "Swift"
let age: Int = 13
let isMale: Bool = true
switch(name){
case "Swift" where isMale == false:
    print("1")
case "Swift" where isMale == true:
    print("2")
case "Swift" where age <= 15:
    print("3")
case "Java":
    print("No")
case "Python":
    print("Oh")
default:
    print("default")
}
cs


위의 코드는 where절을 사용하여 조건을 확장함

결과 : 2



[반복문]


- continue, break 등의 키워드 사용 가능

- C 스타일의 반복문 사용 불가 (Swift 3.0에서 삭제됨)



[반복문 - for-in 구문]


- 반복적인 데이터, 시퀀스를 다룰 때 주로 사용

1
2
3
4
5
6
7
8
let numbers: [Int= [1,2,3,4,5,7,8]
for i in 0..<numbers.count{
    print(numbers[i])
}
for number in numbers{
    print(number)
}
 
cs


위의 코드는 for-in 구문을 사용하여 numbers 배열을 순차적으로 탐색하여 출력함




[반복문 - while 구문]


- 조건은 Bool 타입이어야 함

1
2
3
4
5
var numbers: [Int= [1,2,3,4,5,7,8]
while(numbers.isEmpty){
    print(numbers.first)
    numbers.removeFirst()
}
cs

위의 코드는 while문을 사용하여 numbers 배열이 비었는가를 판정하고 첫 번째 요소를 출력한 후 삭제하는 방법으로 배열의 모든 요소를 출력함


[반복문 - repeat-while 구문]

- 다른 언어의 do-while 구문과 똑같음


'Swift > 야곰의 스위프트' 카테고리의 다른 글

8장 옵셔널  (0) 2018.02.03
7장 함수  (0) 2018.01.29
5장 연산자  (0) 2018.01.29
4장 데이터 타입 고급  (0) 2018.01.29
3장 데이터 타입 기본  (0) 2018.01.29
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함