공부/SWIFT

[SWIFT] 제어문( 반복문 for-in )

알로하리미 2021. 3. 10. 11:04
728x90

1. for-in

for-in문는 배열, 숫자, 문자열을 순서대로 순회(iterate)하기 위해 사용합니다.

let names = ["Anna", "Alex", "Brian", "Jack"]
for name in names {
    print("Hello, \(name)!")
}
// Hello, Anna!
// Hello, Alex!
// Hello, Brian!
// Hello, Jack!

 

숫자 범위를 지정해 순회

for index in 1...5 {
    print("\(index) times 5 is \(index * 5)")
}
// 1 times 5 is 5
// 2 times 5 is 10
// 3 times 5 is 15
// 4 times 5 is 20
// 5 times 5 is 25

 

dictionary 에서 반환된 키(key)-값(value) 쌍으로 구성된 튜플을 순회하며 제어

let numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
for (animalName, legCount) in numberOfLegs {
    print("\(animalName)s have \(legCount) legs")
}
// ants have 6 legs
// spiders have 8 legs
// cats have 4 legs

 

순서대로 제어할 필요가 없다면, 변수자리에 _키워드를 사용하면 성능을 높일 수 있습니다

let base = 3
let power = 10
var answer = 1
for _ in 1...power {
    answer *= base
}
print("\(base) to the power of \(power) is \(answer)")
// Prints "3 to the power of 10 is 59049"

 

범위 연산자와 함께 사용, stride(from:to:by:) 함수와 함께 사용

let minutes = 60
for tickMark in 0..<minutes {
    // render the tick mark each minute (60 times)
}


let minuteInterval = 5
for tickMark in stride(from: 0, to: minutes, by: minuteInterval) {
    // render the tick mark every 5 minutes (0, 5, 10, 15 ... 45, 50, 55)
}


let hours = 12
let hourInterval = 3
for tickMark in stride(from: 3, through: hours, by: hourInterval) {
    // render the tick mark every 3 hours (3, 6, 9, 12)
}

 

 

아래 url을 통해 제어 전송 구문을 확인 할 수 있다. break, continue, fallthrough

2021.03.10 - [분류 전체보기] - [SWIFT] 제어 전송 구문