Nil-arvon yhdistämisoperaattori
Anna oletusarvo, kun optioaalin arvo on nil.
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)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
- Nil-arvon yhdistämisoperaattori
- Oletusarvojen ketjuttaminen
- Oletusarvot funktion parametreissa
- Dictionaryn oletusarvoiset alaindeksit