목차

3. Control Flow 제어 흐름

조건condition을 만들기 위해 if 혹은 switch 를 사용하고,

반복loops을 만들기 위해 for-in, while ,repeat-while을 사용한다.

이 때, 조건이나 반복문을 괄호**()**로 감싸는 것은 선택이지만, 중괄호{}로 감싸는 것은 필수이다.

1. for반복문과 if문

let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for score in individualScores { //individualScoress내의 요소score에 대해 반복
    if score > 50 {
        teamScore += 3
    } else {
        teamScore += 1
    }
}
print(teamScore)

https://apption.co/embeds/bcw136

위에서 for문을 돌린 결과, teamScore은 11이 출력되며, 그 과정은 위의 표와 같다.

이 때 if문에서 주의할 점은 if문의 결과 값이 **TRUE****FALSE** 중 한 가지의 값을 가지는 **boolean** 표현이어야 한다는 것이다.

![Untitled3](/assets/posts/2020-01-27/Untitled 3.png)

2. if let

그리고 missing될 수 있는 값의 경우에는 iflet을 같이 사용할 수 있다. 이러한 값들은 **optionals**로 표현된다. optional 값은 값이 존재하는 것과, 혹은 missing값인 nil(값이 존재하지 않음)을 포함한다. optional 값을 표현하기 위해서는 값의 타입 뒤에 물음표**?**를 붙인다.

var optionalString: String? = "Hello"
print(optionalString == nil)    // ==는 bool. true/false
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {  //(let name = optionalName)이 true/false의 값 가짐.
    greeting = "Hello, \\(name)"
}
print(greeting)