Swift Academy · Oppitunti

Result<Success, Failure> -perusteet

Result-arvojen luominen ja hahmonsovitus eksplisiittistä virheenkäsittelyä varten.

Oppitunti 1/412 vaihetta

Result<Success, Failure> -perusteet on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 4 oppituntia.

Tervetuloa

`Result` on Swiftin enum, jolla on kaksi tapausta — `.success` ja `.failure` — ja joka tarjoaa eksplisiittisen virheenkäsittelyn ilman throws/catch-syntaksia.

Resultin määrittely

```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 } ```

Resultin käsittely

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

get() — heittää virheen epäonnistuttaessa

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

Result-arvojen tallentaminen

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

Result asynkronisissa rajapinnoissa

```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() } ```

Mallinsovitus if casella

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

Onnistumis- ja epäonnistumisominaisuudet

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

Alustaminen throws-lausekkeesta

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

Result-arvojen vertaaminen

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

Pikatarkistus

Mitä `result.get()` tekee, kun Result on `.failure`?

Kertaus

Tärkeimmät asiat: • `Result` — eksplisiittinen onnistuminen tai epäonnistuminen ilman throws-lausekkeita • `.success(value)` / `.failure(error)` — kaksi tapausta • `.get()` heittää virheen epäonnistuttaessa • `Result { try ... }` yhdistää heittäviä operaatioita käyttävän koodin Resultiin • Hyödyllinen myöhemmin käsiteltävien tulosten tallentamiseen ja välittämiseen Seuraavaksi: map ja flatMap Result-arvolle.
Aloita maksutta

Opi Swift tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
122
Oppitunnit
409

Usein kysytyt kysymykset

Onko oppitunti ”Result<Success, Failure> -perusteet” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Result<Success, Failure> -perusteet”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Result<Success, Failure> -perusteet”?

Result-arvojen luominen ja hahmonsovitus eksplisiittistä virheenkäsittelyä varten. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Result<Success, Failure> -perusteet”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Swift Academy-oppitunnilla?

Kyllä. Jokainen Swift Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Result -perusteet
  2. map ja flatMap Result-tyypillä
  3. Mukautetut virhetyypit LocalizedErrorilla
  4. Resultin yhdistäminen async/awaitiin
← Takaisin: Swift Academy