Swift Academy · Pelajaran

Asas Result<Success, Failure>

Cipta dan padankan corak nilai Result untuk pengendalian ralat yang jelas.

Pelajaran 1 daripada 412 langkah

Asas Result<Success, Failure> ialah pelajaran Swift Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Swift Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Swift Academy merangkumi sejumlah 4 pelajaran.

Selamat Datang

`Result` ialah enum Swift dengan dua kes — `.success` dan `.failure` — yang menyediakan pengendalian ralat secara jelas tanpa sintaks throws/catch.

Mengisytiharkan Result

```swift func divide(_ a: Double, by b: Double) -> Result { guard b != 0 else { return .failure(.divisionByZero) } return .success(a / b) } enum DivisionError: Error { case divisionByZero } ```

Menggunakan Result

```swift switch divide(10, by: 2) { case .success(let value): print("Result: \(value)") case .failure(let err): print("Error: \(err)") } ```

get() — Melontar Ralat apabila Gagal

```swift let result = divide(10, by: 0) do { let value = try result.get() // throws DivisionError } catch { print(error) } ```

Menyimpan Result

```swift var cache: [URL: Result] = [:] cache[url] = .success(data) cache[url] = .failure(URLError(.notConnectedToInternet)) ```

Result dalam API Tak Segerak

```swift func fetch(url: URL, completion: @escaping (Result) -> Void) { URLSession.shared.dataTask(with: url) { data, _, error in if let data { completion(.success(data)) } else { completion(.failure(error ?? URLError(.unknown))) } }.resume() } ```

Padanan Corak dengan if case

```swift if case .success(let data) = result { process(data) } if case .failure(let err) = result { handle(err) } ```

Sifat Kejayaan dan Kegagalan

```swift let r: Result = .success(42) print(r.success) // Optional(42) — non-nil on success print(r.failure) // nil ```

Memulakan daripada Throws

```swift let result = Result { try JSONDecoder().decode(User.self, from: data) } // .success(user) or .failure(decodingError) ```

Membandingkan Result

```swift let a: Result = .success(42) let b: Result = .success(42) // Cannot == directly unless Success/Failure are Equatable ```

Semakan Pantas

Apakah yang dilakukan oleh `result.get()` apabila Result ialah `.failure`?

Imbas Kembali

Perkara utama: • `Result` — kejayaan/kegagalan secara jelas tanpa throws • `.success(value)` / `.failure(error)` — dua kes • `.get()` melontar ralat apabila gagal • `Result { try ... }` menghubungkan kod yang melontar ralat • Berguna untuk menyimpan atau menghantar hasil yang ditangguhkan Seterusnya: map dan flatMap pada Result.
Percuma untuk bermula

Pelajari Swift dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
122
Pelajaran
409

Soalan Lazim

Adakah pelajaran “Asas Result<Success, Failure>” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Swift Academy, termasuk “Asas Result<Success, Failure>”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Swift Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Asas Result<Success, Failure>”?

Cipta dan padankan corak nilai Result untuk pengendalian ralat yang jelas. Anda berlatih Swift Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Swift Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Swift Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Asas Result<Success, Failure>” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Asas Result
  2. map dan flatMap pada Result
  3. Jenis Ralat Tersuai dengan LocalizedError
  4. Menghubungkan Result dengan async/await
← Kembali ke Swift Academy