---
title: "forEach(_:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/set/foreach(_:)"
---

# forEach(_:)

Calls the given closure on each element in the sequence in the same order as a for-in loop.

## Declaration

```swift
func forEach(_ body: (Self.Element) throws -> Void) rethrows
```

## Parameters

- `body`: A closure that takes an element of the sequence as a parameter.

## Discussion

Discussion The two loops in the following example produce the same output: let numberWords = ["one", "two", "three"] for word in numberWords {     print(word) } // Prints "one" // Prints "two" // Prints "three"

numberWords.forEach { word in     print(word) } // Same as above Using the forEach method is distinct from a for-in loop in two important ways: You cannot use a break or continue statement to exit the current call of the body closure or skip subsequent calls. Using the return statement in the body closure will exit only from the current call to body, not from any outer scope, and won’t skip subsequent calls.

## See Also

### Iterating over a Set

- [enumerated()](swift/set/enumerated().md)
- [makeIterator()](swift/set/makeiterator().md)
- [underestimatedCount](swift/set/underestimatedcount.md)
