0Pricing
Swift Academy · Lektion

map und flatMap auf Result

Verketten Sie Transformationen von Erfolgswerten ohne verschachtelte switch-Anweisungen.

map und flatMap auf Result ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

Mit `map` und `flatMap` für `Result` können Sie Erfolgswerte transformieren, ohne verschachtelte `switch`-Anweisungen zu schreiben. Dadurch bleibt Ihr Code flach und übersichtlich.

map für Result

```swift let r: Result = .success(5) let doubled = r.map { $0 * 2 } // .success(10) let failed: Result = .failure(MyError.bad) let same = failed.map { $0 * 2 } // .failure(MyError.bad) ```

mapError für Result

```swift let r: Result = .failure(URLError(.notConnectedToInternet)) let mapped = r.mapError { AppError.network($0) } // Result ```

flatMap – fehleranfällige Operationen verketten

```swift func parseJSON(_ data: Data) -> Result { ... } func validate(_ user: User) -> Result { ... } let result: Result = fetchResult .flatMap { parseJSON($0) } .flatMap { validate($0).mapError { $0 as Error } } ```

flatMapError

```swift func recover(_ e: NetworkError) -> Result { .success(cachedData) } let result = networkResult.flatMapError { recover($0) } ```

map und flatMap für Result im Vergleich

• `map`: transformiert den Erfolgswert; wenn die Transformation `T` zurückgibt, ist das Ergebnis `Result` • `flatMap`: Die Transformation gibt `Result` zurück und verhindert so eine Verschachtelung zu `Result,E>`

Drei Operationen verketten

```swift fetchData(url) .map { parse($0) } .flatMap { validate($0) } .map { transform($0) } // Each step only runs if previous succeeded ```

Vergleich mit Optional Chaining

Das Verketten von Results ähnelt dem Optional Chaining für Fehler: ```swift // Optional chain: name?.uppercased()?.prefix(5) // Result chain: result.map { $0.uppercased() }.map { $0.prefix(5) } ```

In Optional umwandeln

```swift let opt = result.success // Value? — nil on failure let val = try? result.get() // Value? — nil on failure ```

Mit einem ??-ähnlichen Muster wiederherstellen

```swift let value = (try? result.get()) ?? defaultValue ```

Kurztest

Was geschieht mit `result.flatMap { transform($0) }`, wenn `result` `.failure` ist?

Zusammenfassung

Wichtige Erkenntnisse: • `map` transformiert den Erfolg und gibt den Fehler unverändert weiter • `mapError` transformiert den Fehlertyp • `flatMap` verkettet Operationen, die selbst ein Result zurückgeben • Dadurch werden verschachtelte `switch`-Anweisungen vermieden • Verketten Sie Operationen zu übersichtlichen Pipelines, die Fehler weitergeben Als Nächstes: eigene Fehlertypen.

Häufig gestellte Fragen

Ist die Lektion „map und flatMap auf Result“ kostenlos?

Ja — der vollständige Text von „map und flatMap auf Result“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „map und flatMap auf Result“?

Verketten Sie Transformationen von Erfolgswerten ohne verschachtelte switch-Anweisungen. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Swift Academy zu starten?

Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „map und flatMap auf Result“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?

Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen von Result
  2. map und flatMap auf Result
  3. Benutzerdefinierte Fehlertypen mit LocalizedError
  4. Result mit async/await verbinden
← Zurück zu Swift Academy