Swift Academy · Oppitunti

Nil-arvon yhdistämisoperaattori

Anna oletusarvo, kun optioaalin arvo on nil.

Oppitunti 1/413 vaihetta

Nil-arvon yhdistämisoperaattori 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.

nil-arvon ongelma

Valinnainen arvo voi sisältää arvon tai olla nil. Usein haluat käyttää arvoa, jos se on olemassa, tai turvautua oletusarvoon, jos arvo on nil.

let typedName: String? = nil
let name = typedName ?? "Guest"
print(name)

??-operaattori

Nil-arvon yhdistämisoperaattori ?? ottaa vasemmalle valinnaisen arvon ja oikealle oletusarvon. Jos valinnainen arvo ei ole nil, saat sen puretun arvon; muussa tapauksessa saat oletusarvon.

let stored: Int? = 42
let value = stored ?? 0
print(value)

Oletusarvoa käytetään vain nil-arvolla

Oikean puolen oletusarvoa käytetään vain, kun vasen puoli on nil. Olemassa oleva arvo, jopa 0 tai tyhjä merkkijono, säilytetään.

let count: Int? = 0
let result = count ?? 99
print(result)

Tulos ei ole valinnainen

Lauseke optional ?? default tuottaa ei-valinnaisen arvon, koska käytettävissä on aina jokin vara-arvo.

let nickname: String? = nil
let display: String = nickname ?? "Anonymous"
print(display)

if let -rakenteen korvaaminen

Ilman ??-operaattoria kirjoittaisit if/else-rakenteen arvon purkamista ja oletusarvon antamista varten. Nil-arvon yhdistäminen tiivistää tämän yhdeksi lausekkeeksi.

let age: Int? = nil
var finalAge: Int
if let unwrapped = age {
    finalAge = unwrapped
} else {
    finalAge = 18
}
print(finalAge)

Sama logiikka ??-operaattorilla

Tässä edellinen esimerkki on kirjoitettu uudelleen nil-arvon yhdistämistä käyttäen. Se on lyhyempi, ja tarkoitus käy selvästi ilmi.

let age: Int? = nil
let finalAge = age ?? 18
print(finalAge)

Nil-arvon yhdistäminen interpoloinnissa

Voit sijoittaa ??-operaattorin suoraan merkkijonointerpolaatioon tulostaaksesi selkeän vara-arvon.

let city: String? = nil
print("City: \(city ?? "Unknown")")

Epäonnistuvista muunnoksista

String-tyypin muuntaminen Int-tyypiksi palauttaa valinnaisen arvon. Nil-arvon yhdistäminen antaa oletusarvon, kun teksti ei ole luku.

let text = "abc"
let number = Int(text) ?? -1
print(number)

Nil-arvon yhdistäminen sanakirjojen kanssa

Sanakirjan avaimen hakeminen palauttaa valinnaisen arvon. Käytä ??-operaattoria antamaan vara-arvo, jos avain puuttuu.

let scores = ["Ann": 90]
let bob = scores["Bob"] ?? 0
print(bob)

Oletusarvo voidaan laskea

Oikean puolen arvo voi olla mikä tahansa oikean tyypin lauseke, jopa funktiokutsu. Se suoritetaan vain tarvittaessa.

func defaultName() -> String {
    return "Player1"
}
let entered: String? = nil
print(entered ?? defaultName())

Tyyppien on vastattava toisiaan

Oletusarvon täytyy sopia valinnaisen arvon sisältämään tyyppiin. Int? tarvitsee Int-tyyppisen oletusarvon.

let maybe: Int? = nil
let safe = maybe ?? 100
print(safe + 1)

Pikatarkistus

Testaa nil-arvon yhdistämistä.

Kertaus: nil-arvon yhdistämisoperaattori

??-operaattori purkaa valinnaisen arvon tai käyttää oletusarvoa ja tuottaa ei-valinnaisen tuloksen. Oletusarvoa käytetään vain, kun valinnainen arvo on nil.

let input: String? = nil
let name = input ?? "Default"
print(name)
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 ”Nil-arvon yhdistämisoperaattori” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Nil-arvon yhdistämisoperaattori”. 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 ”Nil-arvon yhdistämisoperaattori”?

Anna oletusarvo, kun optioaalin arvo on nil. 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 ”Nil-arvon yhdistämisoperaattori”-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. Nil-arvon yhdistämisoperaattori
  2. Oletusarvojen ketjuttaminen
  3. Oletusarvot funktion parametreissa
  4. Dictionaryn oletusarvoiset alaindeksit
← Takaisin: Swift Academy