0Pricing
Swift Academy · Pelajaran

map dan flatMap pada Result

Merangkai transformasi pada nilai sukses tanpa pernyataan switch bertingkat.

map dan flatMap pada Result adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.

Selamat Datang

`map` dan `flatMap` pada tipe `Result` memungkinkan Anda mengubah nilai yang berhasil tanpa pernyataan switch bertingkat, sehingga kode tetap datar dan mudah dibaca.

`map` pada Tipe Hasil

```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` pada Tipe Hasil

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

`flatMap` — Merangkai Operasi yang Dapat Gagal

```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` vs `flatMap` pada Tipe Hasil

• `map`: mengubah nilai yang berhasil; jika transformasi mengembalikan `T`, hasilnya adalah `Result` • `flatMap`: transformasi mengembalikan `Result`; mencegah penumpukan `Result,E>`

Merangkai Tiga Operasi

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

Perbandingan dengan Perantaian Opsional

Perantaian hasil seperti perantaian opsional untuk kesalahan: ```swift // Optional chain: name?.uppercased()?.prefix(5) // Result chain: result.map { $0.uppercased() }.map { $0.prefix(5) } ```

Mengonversi ke Opsional

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

Pemulihan dengan Pola Mirip ??

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

Pemeriksaan Singkat

Apa yang dilakukan `result.flatMap { transform($0) }` ketika `result` bernilai `.failure`?

Ringkasan

Hal-hal penting: • `map` mengubah keberhasilan dan meneruskan kegagalan • `mapError` mengubah tipe kegagalan • `flatMap` merangkai operasi yang juga mengembalikan Result • Menghindari pernyataan switch bertingkat • Rangkai operasi untuk membuat alur penerusan kesalahan yang rapi Berikutnya: tipe kesalahan kustom.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “map dan flatMap pada Result” gratis?

Ya — teks lengkap “map dan flatMap pada Result” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “map dan flatMap pada Result”?

Merangkai transformasi pada nilai sukses tanpa pernyataan switch bertingkat. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Swift Academy?

Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “map dan flatMap pada Result” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar Result
  2. map dan flatMap pada Result
  3. Tipe Error Kustom dengan LocalizedError
  4. Menjembatani Result ke async/await
← Kembali ke Swift Academy