Thanks to visit codestin.com
Credit goes to github.com

Skip to content

For In vs For Each #112

@Youngminah

Description

@Youngminah

Foreach

  • For Eachs는 클로져 형태로 구현된 메소드이다.
  • forEach는 반복문이 아니라, 클로저를 파라미터로 넘겨주는 메소드라는 것을 꼭 기억하길❗️❗️
  • Collection Type에서 제공하는 기능이며 Closure방식을 사용한다.
  • 각각의 element를 parameter로 하여 element의 개수만큼 호출 되는 것이다.
  • for each는 내부적으로 for in을 사용한다 !
  • breakcontinue 을 사용할 수 없다. 메소드 이므로
  • return을 하더라도 그 이후에 계속 실행된다.


For-in

  • break, continue 사용 가능.
  • where을 통한 조건 설정 가능
for article in articles where !article.isDraft {
    results.append(article)
    
    guard results.count < 5 else {
        break
    }
}
  • where 이용한 예제


공통점

  • 두가지 모두 순차적으로 element에 접근 할 수 있다.


그럼 언제 사용하여야 할까?

image

  • For-in : For문 안을 좀 더 정밀하게 사용하고 싶을 경우.

    • break, continue, return 기능을 사용해야하는 경우
    • where을 이용한 패턴 매칭을 사용하는 경우
  • Foreach : 단순한 경우

    • 장점 : 중단 할 수 없을지 몰라도(에러경우 제외) First Class 함수와 클로저의 강력한 장점을 사용가능


참고자료

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions