A Swift függvényekbe átadott paraméterek konstansok, tehát nem változtathatók meg. Ha akarod, átadhatsz egy vagy több paramétert inout
ként, ami azt jelenti, hogy a függvényeden belül megváltoztathatod őket, és ezek a változások a függvényen kívül az eredeti értékben tükröződnek.
Ha például egy számot helyben meg akarsz duplázni – azaz, közvetlenül megváltoztatni az értéket ahelyett, hogy egy újat adnál vissza – írhatsz egy ilyen függvényt:
func doubleInPlace(number: inout Int) { number *= 2}
Hogy ezt használhasd, először egy változó egész számot kell létrehoznod – nem használhatsz konstans egész számokat a inout
-vel, mert azok megváltozhatnak. Szintén át kell adnod a paramétert a doubleInPlace
-nak úgy, hogy a neve előtt egy végződésjelet, &
használsz, ami kifejezett elismerése annak, hogy tisztában vagy vele, hogy inout
-ként használod.
A kódban ezt írnád:
var myNum = 10 doubleInPlace(number: &myNum)
SPONSORED Az alkalmazáson belüli előfizetési infrastruktúra kiépítése és karbantartása nehéz. Szerencsére van egy jobb megoldás. A RevenueCat segítségével órák, nem pedig hónapok alatt megvalósíthatja az előfizetéseket az alkalmazásához, így visszatérhet az alkalmazás építéséhez.
Próbálja ki ingyen
Támogassa a Hacking with Swiftet, és érje el a világ legnagyobb Swift-közösségét!