Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
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
Tags
more
Archives
Today
Total
관리 메뉴

Olive Study Room

[Swift] Control Flow 본문

Coding/iOS

[Swift] Control Flow

Olive Dev 2021. 6. 17. 22:30
더보기

control flow를 다시 정리하게 될 줄이야.. 생각보다 swift에는 다양한 control flow가 존재했다..

Control Flow

for, while

-> 한 작업을 오랜 시간에 걸쳐 반복 수행

if, switch

-> 특정 조건에 따라 분기시켜 실행

break, continue, fallthrough

-> 실행 흐름을 다른 부분으로 이동


[ for ]  

for, for-in

 

1. for

swift 3부터는 c언어 스타일의 for제어문을 지원하지 않는다.

2. for-in

 

- 일반적인 사용

for _ in 1...5 {
    print("dev")
}

//dev
//dev
//dev
//dev
//dev
let index: [Int] = [1, 2, 3, 4]
for i in 0...index.count-1 {
    print(index[i])
}

//1
//2
//3
//4

- 배열을 사용하는 경우

let indexs: [String] = ["Kim", "Park", "Lee"]
for index in indexs {
    print(index)
}
//Kim
//Park
//Lee

- 튜플을 사용하는 경우

let members = ["Kim": 3, "Park": 5, "Lee": 7]
for (name, num) in members {
    print("\(name) : \(num)")
}

//Kim : 3
//Lee : 7
//Park : 5

- String을 사용하는 경우

let sayHi = "Hi, dev"
for char in sayHi {
    print(char)
}

//H
//i
//,
//
//d
//e
//v

 

[ while ]

반복횟수를 알 수 없을 때 사용함.
조건이 true일 때 반복.
while, repeat-while, do-while

1. while

var num = 1
var num2 = 5
while num2 > num {
    print(num2)
    num2 -= 1
}

//5
//4
//3
//2

2. repeat-while - 우선 실행하고 조건을 판별하기 때문에 while과 다름!

var num = 1
var num2 = 5

repeat {
    print(num2)
    num2 -= 1
} while num2 > num

//5
//4
//3
//2

[ if ]

c와 같으므로 생략

[ switch ]

let name = "Kim"
switch name {
case "Kim", "Lee":
    print("Correct")
default:
    print("choose")
}

[ break ]

// 백준 10952번
// 무한 루프
while true {
    var line = readLine()!.split(separator: " ").map({Int($0)!})
    if line[0] == 0 && line[1] == 0 {
        break
    }
    print(line[0] + line[1])
}

loop 즉각 중지

[ continue ]

let name = "Kim"
var returnName = ""
let removeChar: [Character] = ["K", "m"]
for char in name {
    if removeChar.contains(char) {
        continue
    }
    else {
        returnName.append(char)
    }
}
print(returnName)

// i

loop를 중지하고 다음 loop를 진행한다.

 

[ fallthrough ]

let name = "Kim"
switch name {
case "Kim":
    print("correct")
    fallthrough
default:
    print("default")
}

//correct
//default

switch-case의 경우 한 케이스를 타면 자동으로 break되는데, 이를 방지한다.

 

'Coding > iOS' 카테고리의 다른 글

[Swift] 소수점 다루기  (0) 2021.06.23
[Swift] Map VS compactMap VS flatMap  (0) 2021.06.23
[Swift] 고차함수(map, filter, reduce)  (0) 2021.06.07
[Swift] components(separatedBy:) & split  (0) 2021.06.07
[Swift] RawRepresentable  (0) 2021.05.01
Comments