for_in

봄이아빠·2024년 9월 14일
0

Swift Language

목록 보기
4/5
post-thumbnail
post-custom-banner

Apple 공식문서

반복문 for-in

같은 코드를 특정한 범위 내로 반복하여 실행할 경우 사용하는 문법이다.

for <#item#> in <#collection#> {
   <#statements#>
}

위와 같은 형태이며 item의 부분은 와일드카드를 넣어 생략 가능하다. 배열이나 day3에서 공부했던 CaseItetable enum을 collection 부분에 넣어서 사용할 수 있다. 또한 i...j와 같은 형태로 i에서 j까지라는 반복을 실행할 수도 있다. collection의 요소는 item에 들어가게 되어 반복 코드에서 사용 가능하다.

for _ in 0...2 { // Range 부분은 ...을 통해 n ~ m까지 라는 뜻으로 적어주면 된다.
    print("just loop") // 코드에서 변수를 쓰지 않기 때문에 와일드카드로 생략
}
/*
 just loop
 just loop
 just loop
 */

enum Elemental: CaseIterable { //CaseIterable을 명시
    case fire
    case water
    case wind
}

for elemental in Elemental.allCases { // CaseIterable을 통해 사용가능해진 .allCases
    print("I can do \(elemental) magic") //elemental에 매 반복마다 컬렉션의 요소가 들어감
}
/*
 I can do fire magic
 I can do water magic
 I can do wind magic
 */

반복문에서 조건을 추가하여 특정 요소에 대해서만 코드를 실행하고 싶은 경우 반복문 내에 if 등의 조건문을 추가하는 대신 where을 사용하여 더욱 간결하게 코드를 작성할 수 있다.

for elemental in Elemental.allCases where elemental == .fire {
    print("\(elemental) is so dangerous")
}
//아래의 코드를 위와 같이 간결하게 작성 가능함
for elemental in Elemental.allCases {
    if elemental == .fire {
        print("\(elemental) is so dangerous")
    }
}
/*
fire is so dangerous
fire is so dangerous
*/
post-custom-banner

0개의 댓글