inout-parametrit

Kaikki Swift-funktioon syötetyt parametrit ovat vakioita, joten niitä ei voi muuttaa. Halutessasi voit välittää yhden tai useamman parametrin inout, mikä tarkoittaa, että niitä voidaan muuttaa funktion sisällä, ja nämä muutokset heijastuvat alkuperäiseen arvoon funktion ulkopuolella.

Jos esimerkiksi haluat kaksinkertaistaa luvun paikallaan – ts, muuttaa arvoa suoraan sen sijaan, että palauttaisit uuden arvon – voisit kirjoittaa tällaisen funktion:

func doubleInPlace(number: inout Int) { number *= 2}

Käyttääksesi tätä, sinun täytyy ensin tehdä muuttuva kokonaisluku – et voi käyttää vakio kokonaislukuja inout:n kanssa, koska niitä saatetaan muuttaa. Sinun on myös välitettävä muuttuja doubleInPlace:lle käyttämällä ennen sen nimeä jaetta, &, mikä on nimenomainen tunnustus siitä, että olet tietoinen siitä, että sitä käytetään inout:nä.

Koodissa kirjoittaisit näin:

var myNum = 10 doubleInPlace(number: &myNum)
Hacking with Swift is sponsored by RevenueCat

SPONSOROITU Sovelluksen sisäisen tilausinfrastruktuurin rakentaminen ja ylläpito on vaikeaa. Onneksi on olemassa parempi tapa. RevenueCatilla voit toteuttaa tilaukset sovellukseesi tunneissa, ei kuukausissa, joten voit palata takaisin sovelluksesi rakentamiseen.

Kokeile ilmaiseksi

Sponsoroi Hacking with Swift ja tavoita maailman suurin Swift-yhteisö!

Vastaa

Sähköpostiosoitettasi ei julkaista.